用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 getopt模块处理命令行选项实例
May 13 Python
python正则实现提取电话功能
Feb 24 Python
Python实现的维尼吉亚密码算法示例
Apr 12 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 Python
Python实现的特征提取操作示例
Dec 03 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 22 Python
在python中list作函数形参,防止被实参修改的实现方法
Jun 05 Python
python访问hdfs的操作
Jun 06 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
python 6种方法实现单例模式
Dec 15 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
一个捕获函数输出的函数
2007/02/14 PHP
实用函数10
2007/11/08 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
jquery 指南/入门基础
2007/11/30 Javascript
Javascript 中的类和闭包
2010/01/08 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
js 加密压缩出现bug解决方案
2014/11/25 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
如何用js 实现依赖注入的思想,后端框架思想搬到前端来
2015/08/03 Javascript
Javascript BOM学习小结(六)
2015/11/26 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
js模拟微博发布消息
2017/02/23 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
Python探索之Metaclass初步了解
2017/10/28 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
python实现简单飞行棋
2020/02/06 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
Python如何解除一个装饰器
2020/08/07 Python
颇特女士香港官网:NET-A-PORTER香港
2021/03/08 全球购物
餐饮业会计岗位职责
2013/12/19 职场文书
班组长工作职责
2013/12/25 职场文书
小学家长会邀请函
2014/01/23 职场文书
推荐信格式范文
2014/05/09 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
MySQL的join buffer原理
2021/04/29 MySQL