Отправка электронной почты с помощью Ubuntu и Python: руководство для начинающих по автоматизации электронной почты

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

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

    import smtplib
    from email.mime.text import MIMEText
    def send_email():
       smtp_server = 'your_smtp_server_address'
       smtp_port = 587
       sender_email = 'your_email@example.com'
       receiver_email = 'recipient@example.com'
       subject = 'Hello from Python!'
       message = 'This is the body of the email.'
       msg = MIMEText(message)
       msg['Subject'] = subject
       msg['From'] = sender_email
       msg['To'] = receiver_email
       with smtplib.SMTP(smtp_server, smtp_port) as server:
           server.starttls()
           server.login(sender_email, 'your_password')
           server.send_message(msg)
    send_email()
  2. Использование модулей osи subprocess.
    Другой подход — использование модулей osи subprocessмодули для выполнения программ командной строки, которые обрабатывают отправку электронной почты. Например, вы можете использовать утилиту mhsendmail— инструмент командной строки, доступный в Ubuntu, для отправки электронных писем. Вот как вы можете вызвать его из вашего скрипта Python:

    import subprocess
    def send_email():
       recipient_email = 'recipient@example.com'
       subject = 'Hello from Python!'
       message = 'This is the body of the email.'
       command = f"echo '{message}' | mhsendmail --subject '{subject}' {recipient_email}"
       subprocess.run(command, shell=True)
    send_email()
  3. Использование сторонних библиотек.
    Если вы предпочитаете более многофункциональное решение, вы можете использовать сторонние библиотеки, такие как yagmailили smtplibобертки, такие как imbox. Эти библиотеки предоставляют дополнительные функции, такие как вложения к электронной почте и HTML-контент.

    Вот пример использования библиотеки yagmail:

    import yagmail
    def send_email():
       sender_email = 'your_email@example.com'
       receiver_email = 'recipient@example.com'
       subject = 'Hello from Python!'
       message = 'This is the body of the email.'
       yag = yagmail.SMTP(sender_email)
       yag.send(to=receiver_email, subject=subject, contents=message)
    send_email()

К этому моменту вы должны хорошо понимать различные методы отправки электронной почты с использованием Python в Ubuntu. Независимо от того, решите ли вы использовать встроенную библиотеку smtplib, использовать утилиты командной строки, такие как mhsendmail, или исследовать сторонние библиотеки, возможности безграничны. Приятного кодирования!