Отправка электронной почты на Python: пример функции с использованием smtplib

Напиши функцию на питоне для отправки email

Конечно! Для отправки электронной почты на Python можно использовать библиотеку smtplib, которая входит в стандартную библиотеку Python. Также будет полезна библиотека email для создания сообщения.

Вот пример функции, отправляющей письмо через SMTP-сервер:

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

def send_email(subject, body, to_email, from_email, smtp_server, smtp_port, password):
    # Создаем объект MIMEMultipart
    msg = MIMEMultipart()
    msg['From'] = from_email
    msg['To'] = to_email
    msg['Subject'] = subject

    # Добавляем текст в тело письма
    msg.attach(MIMEText(body, 'plain'))

    try:
        # Подключаемся к SMTP-серверу
        server = smtplib.SMTP(smtp_server, smtp_port)
        server.starttls()  # Защищаем соединение
        server.login(from_email, password)  # Аутентификация 

        # Отправляем письмо
        server.send_message(msg)
        print("Email sent successfully!")

    except Exception as e:
        print(f"Error: {e}")

    finally:
        server.quit()  # Закрываем соединение

# Пример использования
send_email(
    subject="Тестовое письмо",
    body="Это тестовое письмо, отправленное с помощью Python.",
    to_email="recipient@example.com",
    from_email="your_email@example.com",
    smtp_server="smtp.example.com",
    smtp_port=587,
    password="your_password"
)

Примечания:

  1. SMTP-сервер: Замените smtp.example.com на адрес вашего SMTP-сервера (например, для Gmail это будет smtp.gmail.com).
  2. Порт: Для Gmail используйте порт 587 для TLS. Если вы используете другой SMTP-сервер, проверьте соответствующий порт.
  3. Пароль: Если вы используете Gmail, вам может потребоваться создать пароль приложения для аутентификации, если у вас включена двухфакторная аутентификация.

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

Опубликовано 17.05.2025 13:55:42