Python и рассылка писем

Привет всем! Давненько я не писал в блог, но это вполне объяснимо — лето, солнце… Но сегодня, лежа на пляже я вдруг подумал — почему бы не продолжить затронутую ранее тему взаимодействия Python и электронной почты и разобрать вопрос, который звучит как: Python и рассылка писем?

Сказано — сделано. Ниже — сырой код программы, написанный «на коленке», основная суть которого сводится к отправке письма на определенный адрес почты. Текст программы очень прост, тем более используется стандартная библиотека smtplib, подробности работы с которой вы можете прочитать тут.

Важно подчеркнуть, что для рассылки писем на определенный список адресов можно использовать работу со списками и циклы (как для адресов получателей, так и для адресов, используемых для отправки писем).

import smtplib #Подключаем библиотеку для работы с почтой
from email.mime.text import MIMEText #Подключаем библиотеку для работы с оформлением в почте
from email.header import Header #Подключаем дополнительную библиотеку для оформления почты
def send_mail(): #Создаем функцию, отвечающую за отправку письма
mailsender = smtplib.SMTP('smtp.gmail.com', 587) #Говорим библиотеке, что соединяемся с сервером Gmail по порту 587
mailsender.starttls() #Подключаем шифрование
mailsender.login('Адрес почты отправителя', 'Пароль к почте отправителя') #Создаем переменную, которая включаем в себя адрес и пароль к почте, с которой будет осуществляться отправка письма
mail_recipient = 'Адрес почты получателя' #Тут все понятно :) 
mail_subject = 'Тема сообщения' #Переменная, отвечающая за тему письма
mail_body = 'Текст сообщения' #Переменная, отвечающая за текст письма
msg = MIMEText(mail_body, 'plain', 'utf-8') #Указываем кодировку и оформление письма
msg['Subject'] = Header(mail_subject, 'utf-8') #Указываем кодировку темы письма
mailsender.sendmail('Адрес почты отправителя', mail_recipient, msg.as_string()) #Заполняем письмо в стиле: кто отправляет, кому отправляет, и что отправляет
mailsender.quit() #Закрываем соединение с почтовым сервером
print('Сообщение на адрес', mail_recipient, 'отправлено') #Выводим сообщение, что письмо успешно отправлено (как контролировать успешность отправки - поговорим позднее) 
send_mail() #Запускаем работу функции

Примеров использования данного метода — куча. У меня, например, отправка письма используется в программе, которая с определенной периодичностью проверяет несколько страниц на определенных сайтах, и в случае, если titles не совпадает с указанным — отправляет письмо с текстом на определенный адрес. Как видите — можно не только спамить 😉

Пример создания кода в более наглядном видео — ниже:

Не забываем ставить лайки и подписывать на канал.

И конечно же, что в случае необходимости код вполне легко модифицируется для создания спам-машины: покупаем (проверенный магазин аккаунтов вот здесь) некоторое количество почтовых адресов, необходимых для рассылки, подключаем их, например, в виде Excel-файла (как работать с Excel — я писал ранее), и начинаем спамить рассылку, подменяя все время адрес получателя по циклу (либо из списка, либо из подключенного файла). Кстати, как вариант — сделаю спам-машину в ближайшее время, вдруг кому будет интересно.

Код в полном виде доступен так же на Git.

Спасибо за внимание! Как всегда в случае возникновения вопросов — пишите на почту, или в Telegram (окошко с ботом светится в правом нижнем углу).

Support the Blog!

Running a blog takes a lot of effort, time, and passion. Your donations help improve the content, inspire new ideas, and keep the project going.
If you’ve enjoyed the blog’s materials, any support would mean the world to me. Thank you for being here! ❤️

PayPal Logo Donate via PayPal

Revolut Logo Donate via Revolut