python 发送邮件
from email.mime.text import MIMEText
from email import encoders
from email.header import Header
from email.utils import parseaddr,formataddr
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
import smtplib
#邮件
msg = MIMEMultipart()
def _format_addr(s):
name,addr = parseaddr(s)
return formataddr((Header(name,'utf-8').encode(),addr))
address = 'xx.ok@163.com'
password = 'xx'
to_addr = 'xx'
smpt_server = 'smtp.163.com';
msg['From'] = _format_addr('Python爱好者 <%s>' % address)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
msg.attach(MIMEText('<html><body><h1></h1><p><a href="http://www.python.org"><img src="cid:0"/></a></p></body></html>','html','utf-8'))
with open('a.jpg','rb') as f:
mime = MIMEBase('image','jpg',filename='a.jpg')
mime.add_header('Content-Disposition','attachment',filename='a.jpg')
mime.add_header('Content-ID','<0>')
mime.add_header('X-Attachment-Id','0')
mime.set_payload(f.read())
encoders.encode_base64(mime)
msg.attach(mime)
server = smtplib.SMTP(smpt_server,25)
server.starttls()
server.set_debuglevel(1)
server.login(address,password)
server.sendmail(address,[to_addr],msg.as_string())
server.quit()