用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兔子毒药问题实例分析
Mar 05 Python
Python中实现结构相似的函数调用方法
Mar 10 Python
改进Django中的表单的简单方法
Jul 17 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
matplotlib实现热成像图colorbar和极坐标图的方法
Dec 13 Python
python Tkinter的图片刷新实例
Jun 14 Python
Python3视频转字符动画的实例代码
Aug 29 Python
python实现ip地址查询经纬度定位详解
Aug 30 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
python判断链表是否有环的实例代码
Jan 31 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 Python
python内置模块之上下文管理contextlib
Jun 14 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
在线竞拍系统的PHP实现框架(二)
2006/10/09 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
php 缩略图实现函数代码
2011/06/23 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
得到文本框选中的文字,动态插入文字的js代码
2007/03/07 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
javascript时间函数大全
2014/06/30 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
python简单分割文件的方法
2015/07/30 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Python中extend和append的区别讲解
2019/01/24 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
python实现文法左递归的消除方法
2020/05/22 Python
python如何写try语句
2020/07/14 Python
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
大学生毕业自我鉴定范文
2013/11/03 职场文书
情况说明书格式范文
2014/05/06 职场文书
垃圾桶标语
2014/06/24 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
慈善募捐倡议书
2015/04/27 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
vue里使用create, mounted调用方法
2022/04/26 Vue.js