用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中__new__与__init__方法的区别详解
May 04 Python
Python中用PIL库批量给图片加上序号的教程
May 06 Python
django admin 后台实现三级联动的示例代码
Jun 22 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
DataFrame.to_excel多次写入不同Sheet的实例
Dec 02 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
Mar 14 Python
python的reverse函数翻转结果为None的问题
May 11 Python
详解Python直接赋值,深拷贝和浅拷贝
Jul 09 Python
python中append函数用法讲解
Dec 11 Python
使用tkinter实现三子棋游戏
Feb 25 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+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
PHP使用SMTP邮件服务器发送邮件示例
2018/08/28 PHP
php和C#的yield迭代器实现方法对比分析
2019/07/17 PHP
js 采用delete实现继承示例代码
2014/05/20 Javascript
js的回调函数详解
2015/01/05 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
jquery 校验中国身份证号码实例详解
2017/04/11 jQuery
JS实现禁止高频率连续点击的方法【基于ES6语法】
2017/04/25 Javascript
js-FCC算法-No repeats please字符串的全排列(详解)
2017/05/02 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
JavaScript封装单向链表的示例代码
2020/09/17 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
python中time.ctime()实例用法
2021/02/03 Python
美国婴儿和儿童家具网上商店:ABaby.com
2018/07/02 全球购物
自荐信如何制作?
2014/02/21 职场文书
党员2014两会学习心得体会
2014/03/17 职场文书
公务员中国梦演讲稿
2014/08/19 职场文书
给客户的检讨书
2014/12/21 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python