Rumah >pembangunan bahagian belakang >Tutorial Python >Cara menghantar kandungan dan lampiran e-mel emotif dalam Python
Sebelum bermula, kita perlu menyediakan beberapa perkara. Pertama, kita perlu memasang Python. Python boleh dimuat turun dari laman web rasmi.
Kedua, kita perlu memasang perpustakaan smtplib. Ini boleh dilakukan di terminal dengan arahan berikut:
pip install smtplib
Sebelum menghantar e-mel, kita perlu mencipta e-mel. Untuk ini, kita perlu menggunakan perpustakaan e-mel Python.
Pustaka ini membolehkan kami mencipta pelbagai jenis e-mel, termasuk yang dalam format HTML.
Berikut ialah program Python mudah untuk mencipta e-mel dalam format HTML:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # 创建一个带有HTML正文的新电子邮件 msg = MIMEMultipart() msg['From'] = 'sender@example.com' msg['To'] = 'receiver@example.com' msg['Subject'] = 'HTML邮件' # HTML正文 html = """ <html> <body> <h2>这是一个HTML邮件</h2> <p>这是一个演示如何发送HTML格式电子邮件的示例。</p > </body> </html> """ # 将HTML正文添加到电子邮件中 msg.attach(MIMEText(html, 'html')) # 使用SMTP服务器发送电子邮件 server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login('sender@example.com', 'password') server.sendmail('sender@example.com', 'receiver@example.com', msg.as_string()) server.quit()
Dalam contoh ini, kami mula-mula memperkenalkan Modul yang diperlukan: smtplib, MIMEMultipart dan MIMEText.
Seterusnya, kami mencipta tika MIMEMultipart dan menetapkan beberapa pengepala e-mel. Langkah seterusnya ialah membina badan HTML dan kemudian menambahnya pada e-mel menggunakan MIMEText.
Akhir sekali, kami menggunakan pelayan SMTP untuk menghantar e-mel.
Selepas kami mencipta e-mel, kami perlu menghantarnya menggunakan pelayan SMTP.
Pelayan SMTP ialah protokol yang digunakan untuk menghantar e-mel. Dalam Python, anda boleh menggunakan modul smtplib untuk menghantar e-mel.
Berikut ialah program Python mudah untuk menghantar e-mel dalam format HTML:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText # 创建一个带有HTML正文的新电子邮件 msg = MIMEMultipart() msg['From'] = 'sender@example.com' msg['To'] = 'receiver@example.com' msg['Subject'] = 'HTML邮件' # HTML正文 html = """ <html> <body> <h2>这是一个HTML邮件</h2> <p>这是一个演示如何发送HTML格式电子邮件的示例。</p > </body> </html> """ # 将HTML正文添加到电子邮件中 msg.attach(MIMEText(html, 'html')) # 使用SMTP服务器发送电子邮件 server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login('sender@example.com', 'password') server.sendmail('sender@example.com', 'receiver@example.com', msg.as_string()) server.quit()
Dalam contoh ini, kami mula-mula mencipta objek MIMEMultipart baharu dan tetapkan beberapa pengepala e-mel.
Seterusnya, kami menjana badan HTML dan menambahkannya pada e-mel menggunakan MIMEText. Akhir sekali, kami menggunakan pelayan SMTP untuk menghantar e-mel.
Selain badan HTML, kami juga boleh menambah lampiran pada e-mel. Untuk ini, kita perlu menggunakan perpustakaan e-mel Python.
Berikut ialah atur cara Python mudah untuk menambah lampiran pada e-mel berformat HTML:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.image import MIMEImage # 创建一个带有HTML正文和图片附件的新电子邮件 msg = MIMEMultipart() msg['From'] = 'sender@example.com' msg['To'] = 'receiver@example.com' msg['Subject'] = 'HTML邮件' # HTML正文 html = """ <html> <body> <h2>这是一个HTML邮件</h2> <p>这是一个演示如何发送HTML格式电子邮件的示例。</p > <p>下面是一张图片:</p > < img src="cid:image1"> </body> </html> """ # 将HTML正文添加到电子邮件中 msg.attach(MIMEText(html, 'html')) # 添加图片附件 with open('image.png', 'rb') as f: img_data = f.read() img = MIMEImage(img_data) img.add_header('Content-ID', '<image1>') msg.attach(img) # 使用SMTP服务器发送电子邮件 server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login('sender@example.com', 'password') server.sendmail('sender@example.com', 'receiver@example.com', msg.as_string()) server.quit()
Dalam contoh ini kita mula-mula mencipta objek MIMEMultipart baharu dan menetapkan Beberapa pengepala e-mel.
Seterusnya, kami akan membuat badan HTML dan melampirkannya pada e-mel menggunakan MIMEText. Seterusnya, kami menambah lampiran imej menggunakan MIMEImage dan memautkannya ke badan HTML menggunakan Content-ID.
Akhir sekali, kami menggunakan pelayan SMTP untuk menghantar e-mel.
Atas ialah kandungan terperinci Cara menghantar kandungan dan lampiran e-mel emotif dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!