用Python登录Gmail并发送Gmail邮件的教程


Posted in Python onApril 17, 2015

 这篇快文介绍了使用Gmail作为您的e-mail服务器,通过Python的内置SMTP库发送电子邮件。它并不复杂,我保证。

下面是如何在Python中登录GMail:
 

import smtplib
 
# The below code never changes, though obviously those variables need values.
session = smtplib.SMTP('smtp.gmail.com', 587)
session.ehlo()
session.starttls()
session.login(GMAIL_USERNAME, GMAIL_PASSWORD)

下面是如何在Python中发送邮件:
 

headers = "\r\n".join(["from: " + GMAIL_USERNAME,
            "subject: " + email_subject
            "to: " + recipient,
            "mime-version: 1.0",
            "content-type: text/html"])
 
# body_of_email can be plaintext or html!          
content = headers + "\r\n\r\n" + body_of_email
session.sendmail(GMAIL_USERNAME, recipient, content)

取决于您对Python的掌握,这可能是一段相当小或相当长的代码。

对我来说,第一次拿一个程序来发送电子邮件,就如我看到黑客帝国里面的场景那一刻,就像我第一次在 Godaddy 上建立一个网站,或者像我第一次使用 JOptionPane 的疑惑。这是一个实现方法(一个简单的方法,它使得实现类似的应用变得非常简单),虽然我以前看过很多发邮件的代码,但这仍然给我留下了深刻的印象。

另外,尽管上面的代码简单,但我第一次也是倾尽全力,花了两个多小时才把那些代码写出来。因此我希望能帮到一些其他人。

Python 相关文章推荐
在Python下利用OpenCV来旋转图像的教程
Apr 16 Python
Python标准库inspect的具体使用方法
Dec 06 Python
Python通过matplotlib绘制动画简单实例
Dec 13 Python
python实现抽奖小程序
Apr 15 Python
pandas分区间,算频率的实例
Jul 04 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
用Pelican搭建一个极简静态博客系统过程解析
Aug 22 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
Python爬虫之Selenium实现关闭浏览器
Dec 04 Python
Python使用openpyxl复制整张sheet
Mar 24 Python
基于Python实现的百度贴吧网络爬虫实例
Apr 17 #Python
python中dir函数用法分析
Apr 17 #Python
python传递参数方式小结
Apr 17 #Python
使用70行Python代码实现一个递归下降解析器的教程
Apr 17 #Python
python类继承与子类实例初始化用法分析
Apr 17 #Python
python中split方法用法分析
Apr 17 #Python
仅用50行代码实现一个Python编写的计算器的教程
Apr 17 #Python
You might like
浅谈php7的重大新特性
2015/10/23 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
vue-cli脚手架引入弹出层layer插件的几种方法
2019/06/24 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
原生JS实现萤火虫效果
2020/03/07 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python记录详细调用堆栈日志的方法
2015/05/05 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
python django事务transaction源码分析详解
2017/03/17 Python
Python时间戳使用和相互转换详解
2017/12/11 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
SQL Server面试题
2013/04/04 面试题
高级护理专业大学生求职信
2013/10/24 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis