Если ваш код действительно является тем, что вы нам показали, то причина того, что он не отправляет электронное письмо, заключается в том, что половина вашего кода не выполняется.
def lambda_handler(event, context):
print("Received event: " + json.dumps(event, indent=2))
#print("value1 = " + event['key1'])
#print("value2 = " + event['key2'])
#print("value3 = " + event['key3'])
#return event['key1'] # Echo back the first key value
#raise Exception('Something went wrong')
SENDER = "[redacted email]"
RECIPIENT = event['email']
CONFIGURATION_SET = "ConfigSet"
AWS_REGION = "us-east-2"
SUBJECT = "Contact Us Form Details"
# The email body for recipients with non-HTML email clients.
BODY_TEXT = "Hello,\r\nPlease see the attached file for a list of customers to contact."
Когда AWS Lambda выполняется функция, она вызывает lambda_handler()
. В соответствии с форматированием Python он будет выполнять все строки с отступом , поскольку они являются частью функции. Сюда входит ваш оператор print ().
Однако, начиная со строки BODY_TEXT = ...
, отступы отсутствуют. Это означает, что код является частью «основной» программы, а не частью функции lambda_handler()
. Он будет выполнен при первом создании экземпляра контейнера Lambda, но не при запуске функции.
Нижняя строка: Если это ваш фактический код, вам нужно чтобы исправить отступы.