python3实现163邮箱SMTP发送邮件


Posted in Python onMay 22, 2018

SMTP协议

首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。

发送邮件之前的配置:

上面说了是使用SMTP协议发送的邮件,所以需要先查看你的发件人邮箱是否有开启SMTP协议,如没有,则需要开启,我测试使用的是163.com的邮箱作为发信人邮箱,在设置中开启SMTP协议如下图所示。

python3实现163邮箱SMTP发送邮件

  测试的前提是你需要开通客户端授权,开通后会让你设置密码,那个密码要记好,下面的passwd接收的是授权密码而不是邮箱密码!否则会出现下图所示的错误提示:

python3实现163邮箱SMTP发送邮件

小栗子:

import smtplib 
from email.header import Header 
from email.mime.text import MIMEText 
 
# 第三方 SMTP 服务 
mail_host = "smtp.163.com" # SMTP服务器 
mail_user = "***"   # 用户名 
mail_pass = "***"  # 授权密码,非登录密码 
 
sender = ***@163.com' # 发件人邮箱(最好写全, 不然会失败) 
receivers = [***@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱 
 
content = '我用Python' 
title = '人生苦短' # 邮件主题 
 
def sendEmail(): 
 
 message = MIMEText(content, 'plain', 'utf-8') # 内容, 格式, 编码 
 message['From'] = "{}".format(sender) 
 message['To'] = ",".join(receivers) 
 message['Subject'] = title 
 
 try: 
 smtpObj = smtplib.SMTP_SSL(mail_host, 465) # 启用SSL发信, 端口一般是465 
 smtpObj.login(mail_user, mail_pass) # 登录验证 
 smtpObj.sendmail(sender, receivers, message.as_string()) # 发送 
 print("mail has been send successfully.") 
 except smtplib.SMTPException as e: 
 print(e) 
 
def send_email2(SMTP_host, from_account, from_passwd, to_account, subject, content): 
 email_client = smtplib.SMTP(SMTP_host) 
 email_client.login(from_account, from_passwd) 
 # create msg 
 msg = MIMEText(content, 'plain', 'utf-8') 
 msg['Subject'] = Header(subject, 'utf-8') # subject 
 msg['From'] = from_account 
 msg['To'] = to_account 
 email_client.sendmail(from_account, to_account, msg.as_string()) 
 
 email_client.quit() 
 
if __name__ == '__main__': 
 sendEmail() 
 # receiver = '***' 
 # send_email2(mail_host, mail_user, mail_pass, receiver, title, content)

如果测试出现报错,请看网易邮箱给出的状态码及含义。

菜鸟教程也有详细教程。

本文有参考孙华强的博客,十分感谢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
vc6编写python扩展的方法分享
Jan 17 Python
python回调函数的使用方法
Jan 23 Python
python网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
Python如何实现守护进程的方法示例
Feb 08 Python
python生成密码字典的方法
Jul 06 Python
python学生管理系统学习笔记
Mar 19 Python
Python使用get_text()方法从大段html中提取文本的实例
Aug 27 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
Python实现猜年龄游戏代码实例
Mar 25 Python
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
May 27 Python
如何理解python对象
Jun 21 Python
详解python metaclass(元类)
Aug 13 Python
django请求返回不同的类型图片json,xml,html的实例
May 22 #Python
Django使用HttpResponse返回图片并显示的方法
May 22 #Python
python实现最长公共子序列
May 22 #Python
使用python存储网页上的图片实例
May 22 #Python
python3模块smtplib实现发送邮件功能
May 22 #Python
Python3.x爬虫下载网页图片的实例讲解
May 22 #Python
python3使用smtplib实现发送邮件功能
May 22 #Python
You might like
自己前几天写的无限分类类
2007/02/14 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
php自定义urlencode,urldecode函数实例
2015/03/24 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
php输出图像的方法实例分析
2017/02/16 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
Python实现螺旋矩阵的填充算法示例
2017/12/28 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
信号生成及DFT的python实现方式
2020/02/25 Python
Python内置异常类型全面汇总
2020/05/28 Python
HTML中使用SVG与SVG预定义形状元素介绍
2013/06/28 HTML / CSS
捷克玩具商店:Bambule
2019/02/23 全球购物
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
大学生写自荐信的技巧
2014/01/08 职场文书
学校元旦晚会方案
2014/02/19 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
家长通知书教师评语
2014/04/17 职场文书
师范毕业生求职信
2014/07/11 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
公司租房协议书范本
2014/10/08 职场文书
考察邀请函范文
2015/01/31 职场文书
Python基础数据类型tuple元组的概念与用法
2021/08/02 Python
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL