Найти в Дзене
CodeRed | Познавательно

SMTP и EmailMessage Python

Рассмотрим отправку писем на email с помощью python, на примере почтового сервера от Beget . Т.к. везде учат подключаться к smtp (для отправки писем на почту) с помощью: server = smtplib.SMTP(settings.email_server) server.starttls() - что является не безопасным методом подключения без SSL и docker не особо хорошо себя показывает при таком подходе, может вообще не отправляться письмо на email. Используйте: email_server = "smtp.beget.com" server = smtplib.SMTP_SSL(email_server, 465) #где 456 - это порт подключения к почтовому серверу с SSL #и также используется метод SMTP_SSL из smtplib В этом случае мы НЕ должны вызывать server.starttls()
РефералОЧКА на недорогой сервер, где вы можете заказать сервер и разместить свой сайт или программу : beget.com/p1883116
P.S. У меня там 9 сайтов и 2 сервера, все работает бесперебойно)
Полный код: import smtplib from email.message import EmailMessage msg = EmailMessage() msg["Subject"] = 'Подпись' msg['From'] = 'ваш майл от почтового сервера'

Рассмотрим отправку писем на email с помощью python, на примере почтового сервера от Beget .

Т.к. везде учат подключаться к smtp (для отправки писем на почту) с помощью:

server = smtplib.SMTP(settings.email_server)
server.starttls()

- что является не безопасным методом подключения без SSL и docker не особо хорошо себя показывает при таком подходе, может вообще не отправляться письмо на email.

Используйте:

email_server = "smtp.beget.com"
server = smtplib.SMTP_SSL(email_server, 465)
#где 456 - это порт подключения к почтовому серверу с SSL
#и также используется метод SMTP_SSL из smtplib

В этом случае мы НЕ должны вызывать

server.starttls()

РефералОЧКА на недорогой сервер, где вы можете заказать сервер и разместить свой сайт или программу : beget.com/p1883116
P.S. У меня там 9 сайтов и 2 сервера, все работает бесперебойно)

Полный код:

import smtplib
from email.message import EmailMessage
msg = EmailMessage()
msg["Subject"] = 'Подпись'
msg['From'] = 'ваш майл от почтового сервера'
msg['To'] = 'кому отправляем'
msg.set_content("Тело письма")
server = smtplib.SMTP_SSL('smtp.beget.com', 465)
server.login("логин от почтового сервера", "пароль от почтового сервера")
server.send_message(msg)
server.quit()
print("Message sent")