Почтовая рассылка
Почтовая рассылка
import smtplib import os from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders from platform import python_version # Настройки server = 'smtp.mail.ru' # здесь вводим SMTP сервер нашей почты, с адреса которой мы будем рассылать письма user = Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.' # Здесь вводим нашу почту (логин) password = 'MySuperPassword' # Здесь вводим пароль recipients = [Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.', Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.'] #Это список адресатов (получателей почты) sender = Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.' # Это то, что будет отображаться, кто отослал это письмо нужно использовать тотже E-mail, как имя пользователя subject = 'Тема сообщения 213213 777' # Тема сообщения text = 'Текст сообщения sdf sdf sdf sdaf <b>sdaf sdf</b> fg hsdgh <h1>f sd</h1> dfhjhgs sd gsdfg sdf' # Оформление текстом сообщения html = '<html><head></head><body><p>' + text + '</p></body></html>'# Оформление Html сообщения filepath = "fish.png" # картинка, которую прикрепляем к письму она лежит в папке проекта Pyhton basename = os.path.basename(filepath) filesize = os.path.getsize(filepath) # Далее формируем наше сообщение msg = MIMEMultipart('alternative') msg['Subject'] = subject msg['From'] = 'Python script <' + sender + '>' # Будет указано кто отправил сейчас отправляет Python script msg['To'] = ', '.join(recipients) msg['Reply-To'] = sender msg['Return-Path'] = sender msg['X-Mailer'] = 'Python/' + (python_version()) part_text = MIMEText(text, 'plain') part_html = MIMEText(html, 'html') part_file = MIMEBase('application', 'octet-stream; name="{}"'.format(basename)) part_file.set_payload(open(filepath, "rb").read()) part_file.add_header('Content-Description', basename) part_file.add_header('Content-Disposition', 'attachment; filename="{}"; size={}'.format(basename, filesize)) encoders.encode_base64(part_file) msg.attach(part_text) msg.attach(part_html) msg.attach(part_file) # Здесь обращаемся к серверу, логинимся к нему и высылаем письмо. mail = smtplib.SMTP_SSL(server) mail.login(user, password) mail.sendmail(sender, recipients, msg.as_string())
# выходим из рассылки mail.quit()
Внимание! Такие сервисы, как майл.ру и другие зафиксируют вход со стороннего приложения и не дадут разослать пиьсма, для этого нужно сгенерить специальный пароль. Инструкция ниже
Как войти в аккаунт через стороннее приложение?
Создайте в настройках аккаунта на сайте Mail.ru специальный пароль, уникальный для каждого стороннего приложения, с помощью которого вы хотите читать Почту.
1. |
Войдите в аккаунт 12121212121 через Mail.ru на компьютере. |
2. |
Перейдите в настройки Mail ID → «Безопасность» → «Пароли для внешних приложений». |
3. |
Нажмите «Добавить». |
4. |
Придумайте название, чтобы не забыть, для какого приложения и устройства этот пароль предназначен. |
5. |
Скопируйте новый пароль и введите его в стороннем приложении. |
Запоминать или записывать пароль приложения не требуется, вы можете сгенерировать новый пароль приложения или удалить старый, если это будет необходимо.