带附件的邮件可以看做包含若干部分的邮件:文本和各个附件本身,所以,可以构造一个MIMEMultipart对象代表邮件本身,然后往里面加上一个MIMEText作为邮件正文,再继续往里面加上表示附件的MIMEBase对象。
简单记录一下自己用Python发出的第一封邮件。
from_addr=input('From:')
password=input('Password:')
to_addr=input('To:')
smtp_server=input('SMTP server:')
import smtplib
import email.mime.multipart
import email.mime.text
#msg是邮件的信息部分。
msg = email.mime.multipart.MIMEMultipart()
msg['Subject'] = 'zhoubao'
msg['From'] = from_addr
msg['To'] = to_addr
txt = email.mime.text.MIMEText('''
你好,xiaoming
这是一封自动发送的邮件。
''' )
msg.attach(txt)
server = smtplib.SMTP(smtp_server,25)
server.set_debuglevel(1)
server.login(from_addr,password)
server.sendmail(from_addr,[to_addr],msg.as_string())
server.quit()