2017-11-08 4 views
0

私は定期的にPythonのsmtplibを使用して電子メールを送信するAWSラムダ関数を作成しようとしています。この関数はAWSラムダの外部で動作し、環境変数が何度も有効であることを確認しました。smtplibとAWS LambdaによるGmail認証に失敗しました

import os 
import smtplib 

def lambda_handler(event, context): 
    """Function that runs to send the email.""" 
    otf_email = os.environ.get("OTF_EMAIL") 
    my_email = os.environ.get("MY_EMAIL") 
    pw = os.environ.get("GMAIL_PW") 

    body = 'Subject:\nThis is a test from the AWS lambda function.' 
    smtp_obj = smtplib.SMTP('smtp.gmail.com', 587) 
    smtp_obj.ehlo() 
    smtp_obj.starttls() 
    smtp_obj.login(my_email, pw) 
    smtp_obj.sendmail(my_email, otf_email, body) 
    smtp_obj.sendmail(my_email, my_email, body) 
    smtp_obj.quit() 

エラーの最初の部分:

"errorMessage": "(534, b'5.7.14 <https://accounts.google.com/signin/continue?sarp=1&scc=1&plt=AKgnsbsR\\n5.7.14 vlSLqK014L_ddv0GicpBkQ1o229bk_zYZe8gMUGlddfJLox0EnXFwtUl9GpBygMxCzoATW\\n5.7.14 3UjdqLIvkTcUx6vGO09gE33_CMkdMaVK-F1d8FC4SypPh8n3ft6BaZubjr4b_M7FD2roiN\\n5.7.14 LyTNxCogmPGDqNQP8overGbbDNTZ7rdeEGBYqG9dExVjtqnRda6eEwC9e9Ib8zHfsjASRM\\n5.7.14 Zi8ShH9zxelYTJ-IhALwvPFV0pJIg> Please log in via your web browser and\\n5.7.14 then try again.\\n5.7.14 Learn more at\\n5.7.14 https://support.google.com/mail/answer/78754 u131sm4947518pgc.89 - gsmtp')" 
+1

Gmailの設定から保護されていないアプリケーションへのアクセスを有効にする必要があると思います。 –

+1

ご使用の場合は、Amazon SESを使用してメールを送信することをおすすめします。ラムダとの統合が非常に簡単です。 –

+0

Gmailの安全性の低いアプリへのアクセスを有効にしました。私はそれを言っていたはずです。私はSESをチェックします。 –

答えて

0

AWSはSESと呼ばれるサービスを提供します。

アウトバウンド電子メールはスケーラブルな方法で送信できます。

詳細については、hereで詳しく説明されているgmail enable less secure appsオプションでメールを送信したい場合は、

+0

安全性の低いアプリケーションを有効にしましたが、SESに試してみましょう。ありがとう! –

関連する問題