使用python编写发邮件,出现错误No module named 'email'

qq_36176146 2017-02-23 11:25:11
报错信息为:
Traceback (most recent call last):
File "sendyoujian_20170222.py", line 7, in <module>
import email.utils
ImportError: No module named 'email'
已把本地含有email.py的所有文件都删除掉,仍然报错,查了很多资料不知道原因出在哪了,所以向各位大神们求教,谢谢!

正文为:
import email.utils
from email import encoders
from email.header import Header
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.utils import parseaddr, formataddr, formatdate

import smtplib

def _format_addr(s):
name, addr = parseaddr(s)
return formataddr(Header(name, 'utf-8').encode(), addr)
from_addr = input('From: ')
password = input('Password: ')
to_addr = input('To: ')
smtp_server = input('SMTP server:')

#邮件对象
msg = MIMEMultipart()
msg['From'] = _format_addr('Python爱好者<%s>'% from_addr)
#msg['To']接收的是字符串而不是list,如果有多个邮件地址,用逗号(,)分隔
msg['To'] = _format_addr('管理员<%s>'% to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
msg.attach(MIMEText('send with file...', 'plain', 'utf-8'))

with open('/User/michael/Downloads/test.png', 'rb') as f:
mime = MIMEBase('image','png', filename = 'test.png')
mime.add_header('Content-Disposition','attachment', filename='test.png')
mime.add_header('Content-ID','<0>')
mime.add_header('X-Attachment-Id','0')
mime.set_payload(f.read())
encoders.encode_base64(mine)
msg.attach(mine)
server = smtplib.SMTP(smtp_server, 25)

#set_debuglevel(1)

server.set_debuglevel(1)

#login方法用来登录SMTP服务器
server.login(from_addr, password)

server.sendmail(from_addr,[to_addr], msg.as_string())
server.quit()
...全文
2912 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoliang_c 2017-02-24
  • 打赏
  • 举报
回复
哦,看错了,是包出问题了
xiaoliang_c 2017-02-24
  • 打赏
  • 举报
回复
文件名改成xx_email.py就可以了
nieoding 2017-02-23
  • 打赏
  • 举报
回复

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import email
>>> import email.utils
>>>
直接python下执行,什么情况
nieoding 2017-02-23
  • 打赏
  • 举报
回复
重新安装python
qq_36176146 2017-02-23
  • 打赏
  • 举报
回复
引用 1 楼 nieoding的回复:

Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import email
>>> import email.utils
>>>
直接python下执行,什么情况
内容报错一样的,跟环境有关系吗?

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧