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 相关文章推荐
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
Python使用django搭建web开发环境
Jun 09 Python
python批量替换多文件字符串问题详解
Apr 22 Python
python+POP3实现批量下载邮件附件
Jun 19 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
Feb 26 Python
Jacobi迭代算法的Python实现详解
Jun 29 Python
Python正则表达式匹配数字和小数的方法
Jul 03 Python
Python中注释(多行注释和单行注释)的用法实例
Aug 28 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
python logging日志模块原理及操作解析
Oct 12 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
python使用rsa非对称加密过程解析
Dec 28 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
PHP实现变色验证码实例
2014/01/06 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
php对象工厂类完整示例
2018/08/09 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
laravel框架分组控制器和分组路由实现方法示例
2020/01/25 PHP
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
JavaScript包装对象使用介绍
2013/08/29 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
javascript的parseFloat()方法精度问题探讨
2013/11/26 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
简单的jQuery banner图片轮播实例代码
2016/03/04 Javascript
详解Jquery实现ready和bind事件
2016/04/14 Javascript
使用jQuery中的wrap()函数操作HTML元素的教程
2016/05/24 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
vue component组件使用方法详解
2017/07/14 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python解析文件示例
2014/01/23 Python
Flask框架响应、调度方法和蓝图操作实例分析
2018/07/24 Python
python 使用sys.stdin和fileinput读入标准输入的方法
2018/10/17 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
目标管理责任书
2014/04/15 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
研究生个人学年总结
2015/02/14 职场文书
草房子读书笔记
2015/06/29 职场文书
2015年“我们的节日·重阳节”活动总结
2015/07/29 职场文书
详解python字符串驻留技术
2021/05/21 Python
前端框架ECharts dataset对数据可视化的高级管理
2022/12/24 Javascript