Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Menghantar Lampiran E-mel Menggunakan smtplib Python?

Bagaimana untuk Menghantar Lampiran E-mel Menggunakan smtplib Python?

Barbara Streisand
Lepaskan: 2024-12-17 00:16:25
asal
520 orang telah melayarinya

How to Send Email Attachments Using Python's smtplib?

Menghantar Lampiran dengan smtplib Python

Menghantar e-mel dengan smtplib Python adalah mudah, tetapi menyertakan lampiran mungkin kelihatan agak samar untuk pemula. Berikut ialah penjelasan yang mudah untuk membantu anda menguasai tugasan ini.

Coretan Kod:

Mari kita mulakan dengan kod mudah coretan:

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()
Salin selepas log masuk

Penjelasan:

  1. MIMEMultipart: Mesej MIME menyokong berbilang bahagian MIME dan membentuk lapisan paling luar.
  2. MIMEText: Badan e-mel ialah dicipta sebagai MIMEText yang mengandungi teks.
  3. MIMEApplication: Fail yang akan dilampirkan dianggap sebagai MIMEApplication dan namanya diekstrak menggunakan basename(f).
  4. Pelupusan Kandungan: Medan ini mengkonfigurasi pengendalian lampiran oleh pelanggan e-mel, menyatakannya sebagai lampiran dengan namanya.
  5. SMTP: Objek SMTP disediakan untuk menyambung ke pelayan mel ("127.0.0.1" secara lalai).
  6. sendmail: E-mel dihantar menggunakan kaedah sendmail dengan pengirim, penerima dan mesej.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Lampiran E-mel Menggunakan smtplib Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan