Есть несколько довольно серьезных опасений относительно того, как автоматически отправлять электронную почту, и вот некоторые из них:
Используйте библиотеку электронной почты. Python включает в себя один называется «электронная почта». Это твой друг, он остановит тебя от трагических ошибок. Прочитайте пример из Руководства по Python .
Некоторые моменты, которые помешают вам заблокировать спам-фильтры:
Всегда отправлять с действительного адреса электронной почты. Вы должны иметь возможность отправлять электронную почту на этот адрес и получать ее (она может перейти в / dev / null после получения, но она должна быть в состоянии / доставить / туда). Это остановит спам-фильтры, которые при проверке адреса отправителя блокируют вашу почту.
Адрес электронной почты, который вы отправляете в строке server.sendmail (fromaddr, [toaddr]), будет тем местом, куда идут отскоки. Строка From: в электронном письме - это совершенно другой адрес, и именно туда отправляется почта, когда пользователь нажимает кнопку «Ответить:». Используйте это в своих интересах, отскоки могут идти в одно место, а ответ - в другое.
Отправить письмо на локальный почтовый сервер, я рекомендую postfix. Этот локальный сервер будет получать вашу почту и отвечать за ее отправку на вышестоящий сервер. После доставки на локальный сервер обработайте его как «отправленный» с программной точки зрения.
Если у вас есть сайт со статическим IP-адресом в центре обработки данных с хорошей репутацией, не бойтесь просто пересылать почту напрямую в Интернет. Если вы находитесь в центре обработки данных, в котором полно сценариев и спамеров, вам нужно будет пересылать эту почту через публичный MTA с хорошей репутацией, надеюсь, вы сможете решить эту проблему без проблем.
Не отправляйте электронные письма только в формате HTML. Всегда отправляйте его в формате Plain и HTML, или просто. Будьте добры, я использую только текстовый почтовый клиент, и вы не хотите меня раздражать.
Убедитесь, что вы не используете SPF на своем почтовом домене, или настройте его так, чтобы ваш сервер мог отправлять почту. Сделайте это, выполнив поиск TXT в своем домене.
$ dig google.com txt
...snip...
;; ANSWER SECTION:
google.com. 300 IN TXT "v=spf1 include:_netblocks.google.com ~all"
Как видно из этого результата, там есть запись SPF. Если у вас нет SPF, не будет записи TXT. Подробнее о SPF в википедии .
Надеюсь, это поможет.