Отправка электронных писем с помощью Python: smtplib, yagmail и модуль электронной почты

Чтобы отправить электронное письмо с помощью Python, существует несколько способов. Вот несколько часто используемых методов:

  1. smtplib: Модуль smtplib в Python предоставляет простой способ отправки электронных писем с использованием простого протокола передачи почты (SMTP). Вы можете использовать этот модуль для подключения к SMTP-серверу и программной отправки электронной почты.

Вот пример отправки электронного письма с помощью smtplib:

import smtplib
from email.mime.text import MIMEText
def send_email(sender, receiver, subject, message):
    msg = MIMEText(message)
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = receiver
    try:
        smtp_server = smtplib.SMTP('smtp.example.com', 587)  # replace with your SMTP server details
        smtp_server.starttls()
        smtp_server.login('your_username', 'your_password')  # replace with your SMTP login credentials
        smtp_server.send_message(msg)
        smtp_server.quit()
        print("Email sent successfully!")
    except smtplib.SMTPException as e:
        print("Error sending email:", str(e))
# Usage
send_email('sender@example.com', 'receiver@example.com', 'Hello', 'This is the body of the email.')
  1. yagmail: Yagmail — это библиотека Python, которая упрощает процесс отправки электронных писем с использованием SMTP. Он обеспечивает интерфейс более высокого уровня и требует меньше строк кода по сравнению с smtplib.

Вот пример отправки электронного письма с помощью Yagmail:

import yagmail
def send_email(sender, receiver, subject, message):
    yag = yagmail.SMTP('your_username', 'your_password')  # replace with your SMTP login credentials
    yag.send(to=receiver, subject=subject, contents=message)
    print("Email sent successfully!")
# Usage
send_email('sender@example.com', 'receiver@example.com', 'Hello', 'This is the body of the email.')
  1. Встроенный модуль emailPython. Встроенный модуль emailPython позволяет создавать и отправлять сообщения электронной почты. Он обеспечивает более гибкий и низкоуровневый способ отправки электронной почты.

Вот пример отправки электронного письма с помощью модуля email:

import smtplib
from email.message import EmailMessage
def send_email(sender, receiver, subject, message):
    msg = EmailMessage()
    msg['Subject'] = subject
    msg['From'] = sender
    msg['To'] = receiver
    msg.set_content(message)
    try:
        smtp_server = smtplib.SMTP('smtp.example.com', 587)  # replace with your SMTP server details
        smtp_server.starttls()
        smtp_server.login('your_username', 'your_password')  # replace with your SMTP login credentials
        smtp_server.send_message(msg)
        smtp_server.quit()
        print("Email sent successfully!")
    except smtplib.SMTPException as e:
        print("Error sending email:", str(e))
# Usage
send_email('sender@example.com', 'receiver@example.com', 'Hello', 'This is the body of the email.')

Это всего лишь несколько способов отправки электронной почты с помощью Python. Вы можете выбрать тот, который соответствует вашим потребностям и требованиям.