ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して電子メールの添付ファイルを送信するには?

Python を使用して電子メールの添付ファイルを送信するには?

DDD
DDDオリジナル
2024-12-12 15:58:15137ブラウズ

How to Send Email Attachments Using Python?

Python を使用して電子メールの添付ファイルを送信する方法

Python を使用して電子メールの添付ファイルを送信することは、特に初心者にとっては難しそうに思えるかもしれません。段階的に見ていきましょう。

smtplib ライブラリは、Python で電子メールを送信するためによく使用されます。以下は添付ファイル機能も含む単純化された例です:

import smtplib
from os.path import basename
from email.mime.application import MIMEApplication
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate

def send_mail(send_from, send_to, subject, text, files=None,
              server="127.0.0.1"):
    assert isinstance(send_to, list)

    msg = MIMEMultipart()
    msg['From'] = send_from
    msg['To'] = COMMASPACE.join(send_to)
    msg['Date'] = formatdate(localtime=True)
    msg['Subject'] = subject

    msg.attach(MIMEText(text))

    for f in files or []:
        with open(f, "rb") as fil:
            part = MIMEApplication(
                fil.read(),
                Name=basename(f)
            )
        # After the file is closed
        part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f)
        msg.attach(part)


    smtp = smtplib.SMTP(server)
    smtp.sendmail(send_from, send_to, msg.as_string())
    smtp.close()

コードをデコードしましょう:

  • 電子メール メッセージを表す MIMEMultipart オブジェクトを作成します。
  • Set送信者と受信者の電子メール アドレス、件名、日付。
  • 使用MIMEText を使用して電子メール本文を作成し、電子メール メッセージに添付します。
  • 添付ファイル (存在する場合) をループし、MIMEApplication を使用して添付ファイルとして準備します。
  • 準備された添付ファイルを電子メール メッセージ。
  • SMTP オブジェクトを作成し、指定された電子メール サーバーに接続します。
  • 電子メール メッセージを送信します。 smtp.sendmail() を使用して接続を閉じます。

このスクリプトを使用すると、Python を使用して簡単にファイルをメールに添付して送信できます。プレースホルダーの値 (送信者、受信者、件名など) を必ず自分の情報に置き換えてください。

以上がPython を使用して電子メールの添付ファイルを送信するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。