Я хотел бы отправить электронное письмо непосредственно из script в учетную запись электронной почты Gmail, напрямую подключившись к smtp.gmail.com
.
Однако я бы предпочел не иметь пароль gmail в script. Из того, что я прочитал, кажется, что Gmail требует аутентификации, прежде чем она отправит любую почту, в том числе ее собственным пользователям.
Мой вопрос заключается в том, как почта поступает с другого сервера SMTP, когда-либо поставленного, поскольку этот SMTP-сервер не будет иметь учетные данные Gmail. Требуется ли для Gmail только аутентификация для "анонимных" отправителей, а поскольку мой script работает на персональном компьютере, он подвержен более высокой безопасности? Вот питон script Я запускаю:
import smtplib
import email
msg = email.message.Message()
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = "Test message"
server = smtplib.SMTP("smtp.gmail.com",587)
server.starttls()
server.ehlo_or_helo_if_needed()
try:
failed = server.sendmail("[email protected]","[email protected]", msg.as_string())
server.close()
except Exception as e:
print(e)
Когда я запускаю этот script, вывод:
(530, b'5.5.1 Authentication Required. Learn more at
5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 fw5sm21125889wib.0', '[email protected]')
Мой вопрос: как внешние SMTP-серверы избегают этой проблемы? И что они делают реплицируемыми в локальном script, или для этого требуются правильные обратные DNS-записи, записи SPF и т.д.?