您的位置:首页 > 编程语言 > Python开发

Python利用SMTP发送邮件

2016-03-15 15:53 876 查看
参照廖雪峰教程
#coding=utf-8
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
import smtplib
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr(( \
Header(name, 'utf-8').encode(), \
addr.encode('utf-8') if isinstance(addr, unicode) else addr))
from_addr = raw_input('From: ')
password = raw_input('Password: ')
to_addr = raw_input('To: ')
smtp_server = raw_input('SMTP server: ')
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
print msg['From']+','+msg['To']+','+msg['Subject']
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()
就这样。。。。。
PS:在一开始照着教程看的过程中遇到了这么一个问题,

No module named mime.text
好蛋疼的问题,百度查了一大片,有的说是Python版本比较低,要拆成两句来写。。。。有的是,,,,,反正一开始就是各种不成功。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。其实真正的问题在于:我把要运行的.py文件起名为了email.py。。。。。。。。。。。。。。。。一定要改成别的名字!!!!!!!!!!!!如果仍然提示的话,,看看是不是生成了一个email.pyc的文件,,有的话也要把它删除才可以运行!!!!!!!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: