Массовая отправка почты своими руками


В современном мире автоматизация рутинных задач является ключом к эффективности. Одной из таких задач может быть массовая отправка электронных писем, например, для информационных рассылок. В этой статье мы рассмотрим, как настроить и использовать скрипт на Python для автоматической отправки писем с сервера Ubuntu.

Перед началом работы убедитесь, что на вашем сервере установлены Python и pip. Эти инструменты позволят нам работать с скриптами Python и управлять зависимостями. Если они еще не установлены, выполните следующие команды:

sudo apt update
sudo apt install python3-pip -y

Наш скрипт будет использовать стандартную библиотеку Python smtplib для отправки электронной почты и email для создания электронных писем. Ниже приведен код скрипта с подробными комментариями.

Создайте файл с именем send_emails.py и скопируйте в него следующий код:

import smtplib
import time
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

# Параметры сервера и аккаунта
smtp_server = "mail.adm.tools"
port = 465 # для SSL
login = "ваша_почта@ваше_доменное_имя.com"
password = "Ваш_пароль_от_корпоративной_почты"

# Сообщение
subject = "Тема вашего письма"
body = """Текст вашего сообщения"""

# Чтение списка получателей
with open("recipients.txt", "r") as file:
recipients = file.read().splitlines()

# Настройка соединения с сервером
server = smtplib.SMTP_SSL(smtp_server, port)
server.login(login, password)

for recipient in recipients:
msg = MIMEMultipart()
msg['From'] = login
msg['To'] = recipient
msg['Subject'] = subject

msg.attach(MIMEText(body, 'plain'))

try:
server.sendmail(login, recipient, msg.as_string())
print(f"Email sent to {recipient}")
except Exception as e:
print(f"Failed to send email to {recipient}. Error: {e}")

time.sleep(60) # Задержка в 1 минуту. Меняйте исходя из количества отправляемых писем, которое разрешено хостером.

server.quit()

Этот скрипт сначала устанавливает безопасное соединение с SMTP-сервером, используя SSL. Затем он читает список адресов электронной почты из файла recipients.txt, создает для каждого адреса электронное письмо с заданными темой и текстом, отправляет его и ожидает 1 минуту перед отправкой следующего сообщения.

Создайте файл recipients.txt в той же директории, что и ваш скрипт. В файле должен быть указан один адрес электронной почты на строку. Пример содержимого файла:

recipient1@example.com
recipient2@example.com
recipient3@example.com

Для запуска скрипта откройте терминал на сервере Ubuntu, перейдите в директорию с файлом send_emails.py и выполните команду:

python3 send_emails.py

Скрипт начнет отправку писем, выводя сообщения об успешной отправке или о возникших ошибках.

Автоматизация отправки электронных писем может существенно упростить рассылку и обеспечить более эффективное взаимодействие с клиентами или аудиторией. Важно использовать этот инструмент ответственно и с соблюдением всех правил и рекомендаций по электронной коммуникации.

Бесплатная консультация

Комментарии отключены.