用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 文件与目录操作
Dec 24 Python
django通过ajax发起请求返回JSON格式数据的方法
Jun 04 Python
python之Character string(实例讲解)
Sep 25 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
python3.6下Numpy库下载与安装图文教程
Apr 02 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
pytorch加载自定义网络权重的实现
Jan 07 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python pip install之SSL异常处理操作
Sep 03 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 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
DC《小丑》11项提名领跑奥斯卡 Netflix成第92届奥斯卡提名最大赢家
2020/04/09 欧美动漫
php下批量挂马和批量清马代码
2011/02/27 PHP
解析php多线程下载远程多个文件
2013/06/25 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
jQuery简单实现遍历数组的方法
2015/04/14 Javascript
jQuery中next方法用法实例
2015/04/24 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
vue中对象数组去重的实现
2020/02/06 Javascript
python实现代理服务功能实例
2013/11/15 Python
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python中的左斜杠、右斜杠(正斜杠和反斜杠)
2016/08/30 Python
Python之web模板应用
2017/12/26 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
python如何写try语句
2020/07/14 Python
No module named ‘win32gui‘ 的解决方法(踩坑之旅)
2021/02/18 Python
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
Linux开机引导的步骤是什么
2015/10/19 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
关于教师节的广播稿
2015/08/19 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书