from email.header import Header from email.mime.text import MIMEText import smtplib from email.utils import parseaddr,formataddr from_add = raw_input("From:") password = raw_input('Password:') to_add = raw_input('To:') smtp_server = raw_input('smtp_server:') def _format_add(s): name,addr = parseaddr(s) return formataddr((Header(name,'utf-8').encode(),addr)) msg = MIMEText('hello....','plain','utf-8') //转换成MIMEText对象 msg['From'] = _format_add('jokermarvelous <%s>' % from_add) //发件人的名字以及发件地址 msg['To'] = _format_add('joker <%s>' % to_add) //收件人的名字以及收件地址 msg['subject'] = Header('laizi smtp de wenhou','utf-8').encode() //发送信件的主题 server = smtplib.SMTP(smtp_server,25) server.set_debuglevel(0) server.login(from_add,password) server.sendmail(from_add,[to_add],msg.as_string()) server.quit()
parseaddr()和formataddr()将输入的字符串名字与地址分开进行utf-8编码后再重组然后以文本方式发送给MTA