Я пытаюсь отправить электронное письмо. себе из функции Lambda с данными в отправленной контактной форме. Это мой обработчик -
Код: Выделить всё
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import json
import os
import smtplib, ssl
def lambda_handler(event, context):
request = json.loads(event['body'])
if 'name' in request and 'email' in request and 'message' in request:
sent_from = '[my email]'
gmail_password = os.environ.get('GMAIL_APP_PASSWORD')
sent_to = '[my other email]'
message = request['message']
subject = request['subject'] if 'subject' in request else f'Message from {user_name}'
message = MIMEMultipart('alternative')
message['Subject'] = subject
message['From'] = sent_from
message['To'] = sent_to
body = f"""
[my email body]
"""
part1 = MIMEText(body, 'html')
message.attach(part1)
try:
context = ssl.create_default_context()
with smtplib.SMTP_SSL('smtp.gmail.com', 465, context=context) as server:
server.login(sent_from, gmail_password)
server.sendmail(sent_from, sent_to, message.as_string())
return {
'statusCode': 200,
'body': json.dumps(True)
}
except Exception as e:
return {
'statusCode': 500,
'body': str(e)
}
return {
'statusCode': 400,
'body': '{"message": "Bad Request"}'
}
Я просмотрел журналы CloudWatch для своей функции и, как я вижу, похоже, время ожидания истекло -

Иногда я даже получаю электронное письмо в свой почтовый ящик, но с нет темы или тела.
Почему это происходит и как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/788 ... -with-smtp