查看“Python email 电子邮件”的源代码
←
Python email 电子邮件
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=SMTP发送邮件= == smtplib== <pre> Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器守护程序向任何互联网机器发送邮件。 这是一个简单的语法,用来创建一个SMTP对象,稍后将演示如何用它来发送电子邮件 - import smtplib smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] ) 一封电子邮件需要一个From,To和一个Subject标题,与电子邮件的正文与空白行分开。 要发送邮件,使用smtpObj连接到本地机器上的SMTP服务器。 然后使用sendmail方法以及消息,从地址和目标地址作为参数(即使来自和地址在电子邮件本身内,这些并不总是用于路由邮件)。 </pre> ==本机有sendmail(smtp) == <pre> sudo apt install sendmail sudo /etc/init.d/sendmail start #!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.header import Header sender = 'linuxops@126.com' receivers = ['evan886@gmail.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 # 三个参数:第一个为文本内容,第二个 plain 设置文本格式,第三个 utf-8 设置编码 message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8') message['From'] = Header("python学习教程", 'utf-8') message['To'] = Header("这里是测试", 'utf-8') subject = 'Python SMTP 邮件测试' message['Subject'] = Header(subject, 'utf-8') try: smtpObj = smtplib.SMTP('localhost') smtpObj.set_debuglevel(1) #打印出和SMTP服务器交互的所有信息 smtpObj.sendmail(sender, receivers, message.as_string()) print "邮件发送成功" except smtplib.SMTPException: print "Error: 无法发送邮件" </pre> 结果如下图 <gallery> smtp.png </gallery> ==使用其他邮件服务商的 SMTP 访问(QQ、网易、Google等) == === 126 smtp=== <pre> #!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender='linuxops@126.com' # 发件人邮箱账号 my_pass = 'evan' # 发件人邮箱密码 my_user='evan886@gmail.com' # 收件人邮箱账号,我这边发送给自己 def mail(): ret=True try: msg=MIMEText('363636填写邮件内容','plain','utf-8') msg['From']=formataddr(["Fromevan",my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 msg['To']=formataddr(["FK",my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 msg['Subject']="evan教程发送邮件测试" # 邮件的主题,也可以说是标题 server=smtplib.SMTP_SSL("smtp.126.com", 465) # 发件人邮箱中的SMTP服务器,端口是25 server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码 server.sendmail(my_sender,[my_user,],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server.quit() # 关闭连接 except Exception: # 如果 try 中的语句没有执行,则会执行下面的 ret=False ret=False return ret ret=mail() if ret: print("邮件发送成功") else: print("邮件发送失败") ''' Fromevan 17:23 (0分钟前) 发送至 我 126.com 填写邮件内容 ''' </pre> === qq smtp === <pre> #!/usr/bin/python # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.utils import formataddr my_sender='5634979@qq.com' # 发件人邮箱账号 my_pass = 'vava' # 发件人邮箱密码 my_user='5634979@qq.com' # 收件人邮箱账号,我这边发送给自己 def mail(): ret=True try: msg=MIMEText('363636填写邮件内容','plain','utf-8') msg['From']=formataddr(["FromRunoob",my_sender]) # 括号里的对应发件人邮箱昵称、发件人邮箱账号 msg['To']=formataddr(["FK",my_user]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 msg['Subject']="evan教程发送邮件测试" # 邮件的主题,也可以说是标题 server=smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是25 server.login(my_sender, my_pass) # 括号中对应的是发件人邮箱账号、邮箱密码 server.sendmail(my_sender,[my_user,],msg.as_string()) # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server.quit() # 关闭连接 except Exception: # 如果 try 中的语句没有执行,则会执行下面的 ret=False ret=False return ret ret=mail() if ret: print("邮件发送成功") else: print("邮件发送失败") ''' evan教程发送邮件测试 发件人:evan <563497988@qq.com> 时 间:2018年3月27日(星期二) 下午3:48 纯文本 | 收件人: 563497988 <563497988@qq.com> 363636填写邮件内容 ''' </pre> =参考= [http://www.runoob.com/python/python-email.html Python SMTP发送邮件] [https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832745198026a685614e7462fb57dbf733cc9f3ad000 廖雪峰SMTP发送邮件] [https://www.jianshu.com/p/abb2d6e91c1f Python发送邮件(最全)] https://docs.python.org/2/library/email-examples.html https://docs.python.org/3.5/library/email-examples.html [[category:python]]
返回至
Python email 电子邮件
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息