Отправка псевдонима (подделки) для письма "от" с помощью python smtplib
Я использую python 3.4.3 для отправки электронной почты, и в настоящее время мне понадобится электронная почта для отправки под псевдонимом. Учетная запись является учетной записью Gmail, но я должен иметь возможность помещать все, что я хочу, в качестве поддельного (псевдоним) электронной почты "От". Я очень усердно смотрел, как это сделать, и мне очень не повезло. Учитывая количество тем, на которые я смотрел, и актуальность, на которую я не получил действенного ответа, показывает отсутствие обсуждения этой конкретной темы. Я надеюсь, что это не просто так, что все, кроме меня, знают, как это сделать.
Я должен упомянуть, что я нахожусь на машине с Windows 10, но у меня есть доступ к Ubuntu, а также к машине с Windows 7.
import smtplib
fromreal = 'realmail@gmail.com'
fromshow = 'fakemail@gmail.com'
toaddy = ['rec01@gmail.com', 'rec02@gmail.com']
subject = ' test'
body = 'This is the body test'
content = '''\
From: %s
To: %s
Subject: %s
%s
''' % (fromshow, ', '.join(toaddy), subject, body)
server = 'smtp.gmail.com'
port = 587
mail = smtplib.SMTP(server, port)
mail.ehlo()
mail.starttls()
mail.login(fromreal, 'password')
try:
mail.sendmail(fromshow, toaddy, content)
print('E-mail sent.')
except:
print('E-mail not sent.')
mail.close()
2 ответа
Вы можете использовать yagmail для отправки псевдонима (не изменяя псевдоним, но по крайней мере псевдоним):
import yagmail
# first is "from" arg; using a dictionary you can give an alias as value
yag=yagmail.SMTP({fromreal:'fakealias'}, 'password')
yag.send(toaddy, subject, body)
Как хорошо иметь 3 строки вместо 30;)
Установить с помощью pip install yagmail
,
Узнайте больше о многих других функциях на странице GitHub.
Среди прочего, вы можете использовать "парольные" скрипты (не нужно вводить пароль в скрипте), очень легко отправлять HTML, встроенные изображения и вложения!
Полное раскрытие: я разработчик / сопровождающий yagmail
,
Ваш код в порядке,
Google запрещает вам устанавливать псевдоним электронной почты, который не принадлежит вам. Вот почему вам нужно установить псевдоним в своей учетной записи gmail. Для этого перейдите на https://mail.google.com/ -> настройки -> (посмотреть все настройки) -> Аккаунты -> Отправить почту как: -> добавить другой адрес электронной почты.
Подтвердите адрес электронной почты, а затем вы можете установить свой псевдоним, который используется в вашем коде.
Если вы получаете SMTPAuthenticationError (534, b'5.7.9 Требуется пароль для конкретного приложения...), вы должны перейти по ссылке, чтобы установить пароль приложения вместо вашего реального пароля.