2017-05-31 53 views
0

我有一個RoR應用程序,它使用gmail gem從我的收件箱中讀取電子郵件。我已經部署到Heroku,一切正常,除了連接到Gmail。Gmail :: Client :: AuthorizationError僅適用於Heroku上的Rails應用程序的生產

在我的本地機器上連接時沒有問題(在允許訪問不太安全的應用程序之後)。

使用基本的gmail登錄方法;

Gmail.connect!('[email protected]','password') 

僅在生產中出現以下錯誤。

Gmail::Client::AuthorizationError: Couldn't login to given Gmail account: [email protected] (Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure))

然後我會去https://www.google.com/accounts/DisplayUnlockCaptcha(如其他答案建議),它會工作的優良短的時間內,然後突然停止工作了。

我使用Ruby V2.4.1,回報率V5.1.1和Gmail的寶石v0.6.0(https://github.com/gmailgem/gmail

任何幫助將是巨大的。

回答

1

您是否正在部署到域?這可能是由於以下事實造成的:

Heroko不會給你一個IP地址範圍 - 他們可以,也可能會根據需要在Amazon區域之間移動dynos。

您的唯一選擇是使用靜態IP的某種代理節點,它們可以與您的Heroku應用程序安全通信 - 或者考慮Heroku是否適合您。

來源:Get a finite list of IP addresses for my Heroku App?

好像你登錄到谷歌和白名單什麼的IP(據他們而言),然後到了極致稍後切換有點無論出於何種原因使那麼谷歌不再有你的dyno的IP在這個應用程序的白名單。

+0

啊,這是有道理的,謝謝!我會研究一些不同的託管選項。 –

相關問題