Что-то действительно странное происходит с boto и Amazon SES. Я проверял это по крайней мере 50 раз: отправка электронного письма с использованием:
conn = SESConnection(accessKey, secretKey)
conn.send_email(source=fromEmail, subject=subject, body=body, to_addresses=toAddress, cc_addresses=cc_addresses, bcc_addresses=bcc_addresses, format='html', reply_addresses=None, return_path=None)
работает до тех пор, пока тело имеет обычный текст. Как только body
содержит ссылку, такую как "127.0.0.1", электронное письмо не проходит. send_email
не возвращает ошибку, просто не проходит, и я не могу сказать, почему. Единственное исключение, если ссылка является самым последним фрагментом текста в теле. Таким образом, body = "go to 127.0.0.1"
попадет в почтовые ящики получателей, но body = "go to 127.0.0.1 and click on the link"
не будет работать.
Странно, правда? Что происходит?
РЕДАКТИРОВАТЬ, несколько потраченных впустую часов спустя:
Итак, после нескольких часов убийства я не знаю точно, в чем проблема, но я знаю, что это не имеет отношения к Boto или Amazon SES. Я отправил точно такое же письмо на другой адрес, и у меня не было проблем с этим. Теперь это серьезно странно и глупо. Электронная почта, используемая в моей школе, работает в приложениях Google и демонстрирует дурацкое поведение, описанное выше. Мой личный адрес электронной почты старый Gmail и не имеет этой проблемы вообще. Я даже проверил папку со спамом для своей школьной электронной почты, и ее там нет.
Вот и все, разница между наличием «http» и «https» в теле письма и только для определенных учетных записей электронной почты. Никаких ошибок, просто потерянное письмо. WTF?