Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menghantar Lampiran E-mel Dengan Mudah Menggunakan smtplib Python?

Bagaimanakah Saya Boleh Menghantar Lampiran E-mel Dengan Mudah Menggunakan smtplib Python?

DDD
DDDasal
2024-12-11 19:57:10669semak imbas

How Can I Easily Send Email Attachments Using Python's smtplib?

Menge-mel Lampiran Menggunakan Python: Menjelaskan dan Memudahkan

Menghantar lampiran e-mel menggunakan smtplib Python boleh mencabar, terutamanya untuk pemula. Untuk memberikan penjelasan yang lebih mudah diakses, kami meneroka pendekatan yang komprehensif.

Pertimbangkan coretan kod berikut:

import smtplib
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()

Memecahkan kod:

  • Kami mencipta objek mesej MIMEMultipart untuk e-mel.
  • Kami menyatakan pengirim, penerima, tarikh, subjek dan teks e-mel.
  • Kami menyediakan setiap lampiran dengan membaca kandungannya dan menetapkan namanya.
  • Kami menambah lampiran pada mesej MIMEMultipart.
  • Kami mencipta sambungan pelayan SMTP dan hantar e-mel.

Pendekatan ini memberikan pemahaman yang jelas tentang langkah-langkah yang perlu terlibat dalam menghantar e-mel dengan lampiran.

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

Kenyataan:
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 sebelumnya:Kenapa Spark Lambat??Artikel seterusnya:Kenapa Spark Lambat??