Отправка псевдонима (подделки) для письма "от" с помощью 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 Требуется пароль для конкретного приложения...), вы должны перейти по ссылке, чтобы установить пароль приложения вместо вашего реального пароля.

Другие вопросы по тегам