Python邮件功能 - 使用163邮箱SMTP服务器发送邮件
概述
Python发送邮件主要用到smtplib和email两个模块,其中smtplib负责发送邮件,email负责构建邮件内容。
使用Python可以发送简单文本邮件、HTML格式的文件、带附件的邮件等。
这里使用163邮箱的smtp服务器从163邮箱发送简单文本邮件到其它邮箱为例,详情见代码。
这是博客园中的一篇文章,总结的很全
首先需要拥有一个163邮箱账号,需要注意的是,需要在163邮箱的设置中开启客户端授权,申请授权码。
否则,直接使用密码登录会报错smtplib.SMTPAuthenticationError: (550, b‘User has no permission‘)
授权码是用于登录第三方邮件客户端的专用密码。这个过程需要手机号验证。
如下图,在设置--->POP3/SMTP/IMAP界面中,勾选SMTP服务,会提示进行手机验证,设置授权码(字母+数字),
然后在Python代码中进行登录时,使用刚才设置的授权码登录,而不是163邮箱密码。
源码
# !/usr/bin/env python
# -*- coding:utf-8 -*-import smtplib
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr,formataddr# 163邮箱服务器地址
smtp_server='smtp.163.com'
# 发件人邮箱地址
from_addr='135****2212@163.com'
# 发件人邮箱密码(使用申请的客户端授权码代替)
passwd='授权码'
# 收件人邮箱地址
to_addr='80*****23@qq.com'# 构建邮件内容(参数:邮件内容; 类型-plain,html; 编码)
msg=MIMEText('SMTP测试邮件','plain','utf-8')
# 设置邮件主题
msg['Subject']=Header('这是邮件主题',charset='utf-8')def send_email():# 获取SMTP对象server=smtplib.SMTP(host=smtp_server,port=25)# 登录163邮箱服务器server.login(user=from_addr,password=passwd)# 发送邮件server.sendmail(from_addr=from_addr,to_addrs=to_addr,msg=msg.as_string())# 退出邮箱服务器server.quit()if __name__ == '__main__':send_email()
运行结果
![](/assets/blank.gif)
Python邮件功能 - 使用163邮箱SMTP服务器发送邮件相关推荐
- C#使用163的SMTP服务器发送邮件
C#使用163的SMTP服务器发送邮件 public class TestSend163Email { /// <summar ...
- Ubuntu 使用 heirloom-mail 调用外部邮箱 SMTP 服务器发送邮件
使用本地服务发邮件,经常被过滤掉而且占用资源,发送成功率不高.所以使用外部SMTP服务器发送邮件成为了需求. SMTP认证的目的是为了使用户避免受到垃圾邮件的侵扰,简单地说就是要求必须在提供了账户名和 ...
- Python+selenium 实现自动化163邮箱登录并发送邮件
啊!终于写出来了,定位好久,终于都弄完了.但是有时候又发送不成功有时候又可以,不知道是我暂停时间太短,还是其他什么原因.记录一下吧~ 定位时注意一下动态的iframe ''' 自动登录163邮箱,并发 ...
- PHP邮件发送:PHP使用SMTP服务器发送邮件
1.下载好phpmailer 后只需要几个重要的文件即可,其余的都可以删除 class.phpmailer.php class.smtp.php class.pos3.php(我未用到这个接受文件) ...
- 各大型邮箱smtp服务器及端口收集:
各大型邮箱smtp服务器及端口收集: >新浪邮箱smtp服务器 外发服务器:smtp.vip.sina.com 收件服务器:pop3.vip.sina.com 新浪免费邮件 外发服务器:smtp ...
- 使用Telnet连接smtp服务器发送邮件
我们可以通过 Telnet 发送一条邮件,并了解其过程. 1. 前提准备 1.1 开启 Telnet 按下快捷键 Win + S,在搜索框内输入 "启用或关闭Windows功能", ...
- 常用邮箱 SMTP 服务器地址大全
1. 阿里云邮箱(mail.aliyun.com): POP3 服务器地址:pop3.aliyun.com(SSL加密端口:995:非加密端口:110) SMTP 服务器地址:smtp.aliyun. ...
- PHP用socket连接SMTP服务器发送邮件
PHP用socket连接SMTP服务器发送邮件 PHP用socket连接SMTP服务器发送邮件学习实验记录: 分析与SMTP会话的一般流程 1. HELO XXX \r\n //XXX就是自己起个名字 ...
- gitlab使用163邮箱向用户发送邮件
摘要: 前端时间在CentOS7上安装gitlab闲弃了一段时间,今天在添加账号的时候,邮箱一直不能收到注册通知.这里转载记录一下163邮箱的设置 gitlab官方SMTP设置SMTP setting ...
最新文章
- bitcoin全节点部署及bitcoind bitcoin-cli命令使用解释
- 第一季度Teradata营收下降7.3% 利润下跌63%
- LETTers比赛第七场 Guess the Numbers
- 深入理解JS中this关键字
- mysql unicode转汉字_如果有人问你 MySql 怎么存取 Emoji,把这篇文章扔给他
- 服务器上的电脑登不上oracle,Oracle服务器改计算机名后报错之解决方法
- linux(fedora) 下dvwa 建筑环境
- 使用router-view时组件之间的通信
- 电机的入门之路系列2--电机驱动芯片2003的用法
- 写文件 追加到开始_文件和流
- 使用FastReport 3.0及以上版本创建动态报表的几个技巧(转)
- 易鲸捷首架刘明:Trafodion值得放入工具箱,因为有以下优点
- 在服务器上搭建Cadence16.6 CIS共享库
- B 罗马数字 2018浙江理工大学新生赛
- 重庆大学和北京交通大学计算机学院,北京交通大学录取分为何比一些985高?真是能上985就不上211吗?...
- 2021年胡润中国百富榜研究报告
- 计算机技术对艺术的影响,数字化技术对当代艺术发展的影响--理论
- 地铁怎么坐才不能做反_地铁怎么坐,地铁怎么坐才不能做反
- (转)关于样本标准差(SD)与样本标准误差(SE)
- 内置方法和模块的应用