Электронное письмо, отправленное с помощью модуля Python smtplib, приходит пустым

Проблема: когда я отправляю электронное письмо, оно отправляется с адреса электронной почты[email protected] на адрес электронной почты[email protected], но письмо пустое. Однако, когда я отправляю электронное письмо с помощью Gmail, электронное письмо приходит с содержимым.

@app.route('/')
        def email():
            msg= 'Hello'
            server = smtplib.SMTP("smtp-mail.outlook.com", 587)
            server.starttls()
            server.login("[email protected]", "Password1")
            server.sendmail("[email protected]", "[email protected]", msg)
            return 'Message Sent!'

Желаемый результат: я хочу видеть содержимое, когда открываю письмо на адресе электронной почты [email protected].


person user197236    schedule 05.10.2020    source источник


Ответы (1)


Я не могу проверить это, но, возможно, необходимо добавить

"From: [email protected]\r\nTo: [email protected]\r\n\r\n"

в начале msg.

Так что я бы попробовал с

msg = 'From: [email protected]\r\nTo: [email protected]\r\n\r\nHello'

и посмотреть, работает ли это лучше.

Gmail может быть более снисходительным к таким вещам, чем Hotmail.

Обратите также внимание на пустую строку (\r\n\r\n) перед Hello.

person Jesper    schedule 09.10.2020
comment
Это работает, спасибо! Однако письмо попадает в папку нежелательной почты. Была такая же проблема, когда я использовал Gmail без темы. Hotmail кажется более строгим. Любая идея, как предотвратить попадание электронной почты в папку нежелательной почты? - person user197236; 10.10.2020
comment
Рад, что это сработало! Что касается папки нежелательной почты, чем больше она похожа на спам, тем больше вероятность того, что она попадет в папку нежелательной почты или спама. Поэтому, если вы добавите еще немного текста, который сделает его более реальным, скорее всего, он там не окажется. Трудно точно сказать, что нужно, но добавление темы, осмысленного текста и т. д., вероятно, поможет. Это может помочь настроить правила для конкретных получателей и/или добавить адрес отправителя (в данном случае [email protected]) в ваши контакты. - person Jesper; 10.10.2020
comment
Действительно, hotmail можно настроить для определенного адреса электронной почты. Это можно сделать прямо из папки нежелательной почты, щелкнув «Это не нежелательная почта» над сообщением. - person user197236; 10.10.2020