Если вы не программист, не волнуйтесь, вам не нужно быть экспертом, чтобы понять скрипт, который мы рассмотрим в этой статье.
Использование Python для написания скриптов
Использование Python для написания сценариев – популярный и практичный выбор.
Синтаксис Python прост, что позволяет быстро писать и понимать скрипты.
Он предоставляет широкий спектр библиотек и модулей, которые упрощают общие задачи, позволяя разработчикам быть продуктивными с меньшими усилиями.
- 📧 Как пересылать всю почту на внешнюю учетную запись
- Интернет шлюз на FreeBSD
- postfix: анализировать журналы, используя pflogsumm
Скрипт Python для отправки электронной почты
Сначала создайте новый файл с расширением .py
# vi sending_mail.py
Вот пример скрипта python, который мы тестировали для отправки электронной почты:
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # Email конфигурация sender_email = "your_email@gmail.com" receiver_email = "recipient_email@example.com" subject = "Subject of the email" body = "Body of the email" # Создайте сообщение электронной почты message = MIMEMultipart() message["From"] = sender_email message["To"] = receiver_email message["Subject"] = subject # Прикрепите тело письма message.attach(MIMEText(body, "plain")) # Подключитесь к SMTP-серверу (пример Gmail).smtp_server = "smtp.gmail.com" smtp_port = 25 with smtplib.SMTP(smtp_server, smtp_port) as server: # # Идентифицируйте себя на SMTP-сервере server.ehlo() # Отправка server.sendmail(sender_email, receiver_email, message.as_string()) print("Email sent successfully.")
Не забудьте внести необходимые изменения, чтобы добавить свою собственную конфигурацию.
Здесь мы используем порт 25, который традиционно используется для незашифрованных SMTP-соединений.
Это SMTP-порт по умолчанию, но многие почтовые провайдеры могут предпочитать или требовать использования зашифрованных соединений по соображениям безопасности.
Поэтому, если ваш почтовый сервер поддерживает TLS, воспользуйтесь приведенным ниже скриптом.
📒 Как установить SendEmail на Linux
Скрипт Python для отправки электронной почты с использованием TLS
Чтобы защитить связь с smtp-сервером, используйте порт 587 вместо 25.
Порт 587 обычно используется для отправки электронной почты с поддержкой TLS (Transport Layer Security) или STARTTLS, который обеспечивает шифрование связи между почтовым клиентом (в данном случае вашим Python-скриптом) и почтовым сервером.
Использование шифрования обычно считается более безопасным, особенно когда вы передаете конфиденциальную информацию, например, имена пользователей и пароли электронной почты.
🔐 Как проверить поддерживаемые TLS и SSL алгоритмы (версии) на Linux
Вот пример использования Python для отправки электронной почты с TLS:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.base import MIMEBase from email import encoders # Email конфигурация sender_email = "your_email@gmail.com" receiver_email = "recipient_email@example.com" subject = "Subject of the email" body = "Body of the email" # Создайте сообщение электронной почты message = MIMEMultipart() message["From"] = sender_email message["To"] = receiver_email message["Subject"] = subject # Прикрепите тело письма message.attach(MIMEText(body, "plain")) # Прикрепите файл attachment_file_path = "/path/to/your/file.txt" attachment = open(attachment_file_path, "rb") part = MIMEBase("application", "octet-stream") part.set_payload(attachment.read()) encoders.encode_base64(part) part.add_header( "Content-Disposition", f"attachment; filename= {attachment_file_path.split('/')[-1]}", ) message.attach(part) # Подключитесь к SMTP-серверу (в данном примере используется порт 25). smtp_server = "smtp.gmail.com" smtp_port = 587 smtp_username = "your_email@gmail.com" smtp_password = "your_email_password" with smtplib.SMTP(smtp_server, smtp_port) as server: # Start TLS for security server.starttls() # Вход на сервер server.login(smtp_username, smtp_password) server.sendmail(sender_email, receiver_email, message.as_string()) print("Email with attachment sent successfully.")
В этом случае вам нужно будет ввести имя пользователя и пароль для входа на smtp-сервер.
Спонсор этой статьи – наши партнеры пампаду