2017-11-08 6 views
0

Ich versuche eine AWS Lambda-Funktion zu schreiben, die regelmäßig eine E-Mail mit Pythons smtplib sendet. Diese Funktion funktioniert außerhalb von AWS Lambda, und ich habe überprüft, dass die Umgebungsvariablen mehrfach gültig sind.Fehlgeschlagene Gmail-Authentifizierung durch smtplib und AWS Lambda

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() 

Der erste Teil des Fehlers:

"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

Ich denke, Sie müssen den Zugriff auf weniger sichere Anwendungen aus Ihren Google Mail-Einstellungen aktivieren. –

+1

Für Ihren Anwendungsfall empfehle ich, Amazon SES zum Senden von E-Mails zu verwenden. Sehr einfach in Lambda zu integrieren. –

+0

Ich habe den Zugriff auf weniger sichere Apps in Google Mail aktiviert. Ich hätte das sagen sollen. Ich werde SES überprüfen. –

Antwort

0

AWS ein Dienst namens SES bietet.

Sie können ausgehende E-Mails skalierbar senden.

Wenn Sie noch E-Mail über Google Mail senden möchten, aktivieren Sie die weniger sichere Apps-Option, die im Detail behandelt wird here.

+0

Ich habe weniger sichere Apps aktiviert, aber ich werde SES ausprobieren. Vielen Dank! –