用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代码的打包与发布详解
Jul 30 Python
Python中函数的参数定义和可变参数用法实例分析
Jun 04 Python
简单解析Django框架中的表单验证
Jul 17 Python
Python3数据库操作包pymysql的操作方法
Jul 16 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
使用Python3内置文档高效学习以及官方中文文档
May 19 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
Python根据字符串调用函数过程解析
Nov 05 Python
Python Django搭建文件下载服务器的实现
May 10 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函数之子字符串替换 str_replace
2011/03/23 PHP
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
php格式化电话号码的方法
2015/04/24 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
2015/11/10 PHP
关于php开启错误提示的总结
2019/09/24 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
地址栏传递中文参数乱码在js里用escape转码
2013/08/28 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
html5 canvas js(数字时钟)实例代码
2013/12/23 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
在elementui中Notification组件添加点击事件实例
2020/11/11 Javascript
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
四群教育工作实施方案
2014/03/26 职场文书
临床护理求职信
2014/04/26 职场文书
实验室的标语
2014/06/20 职场文书
运动会加油稿
2015/07/22 职场文书
开业庆典致辞
2015/08/01 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS