一、使用QQ邮箱或者腾讯企业邮箱

python 发送邮件属于网络编程方向的,在工作中,我需要经常用邮件来检测我的程序运行状况.使用起来十分方便,这里我就用腾讯企业邮箱作为我的收发邮箱来使用.

使用python 中的 smtplib 模块来实现发送电子邮件. smtplib对SMTP(Simple Mail Transfer Protocol 简单邮件传输协议)进行简单的包装.

# 创建 对象
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
  • host : STMP服务器主机,可以制定ip或者域名
  • port : SMTP服务试用的端口号,一般为25
  • local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。

Python SMTP 对象使用 sendmail 方法发送邮件,语法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
  • from_addr: 邮件发送者地址。
  • to_addrs: 邮件发送地址,字符串列表,可以发送给多人['addr1','addr2',....],。
  • msg: 发送消息

msg 是字符串,表示邮件。邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意 msg 的格式。这个格式就是 smtp 协议中定义的格式。

例子

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr def mail(my_sender, my_pass, recipients):
try:
# 邮件的内容
msg = MIMEText('这是一条测试邮件,请忽略', 'plain', 'utf-8')
# [发件人的邮箱昵称、发件人邮箱账号], 昵称随便
msg['From'] = formataddr([" ", my_sender])
# [收件人邮箱昵称、收件人邮箱账号], 昵称随便
msg['To'] = formataddr([" ", recipients]) # 邮件的主题,也就是邮件的标题
msg['Subject'] = "邮件测试" # 备注:这里使用的是QQ邮箱的服务器, 加入用腾讯企业邮箱作为发件人的话,请将"smtp.qq.com" 修改为 "smtp.exmail.qq.com"
# 发件人邮箱中的SMTP服务器,qq端口是465
server = smtplib.SMTP_SSL("smtp.qq.com", port=465)
# (发件人邮箱账号、邮箱密码)
server.login(my_sender, my_pass)
# (发件人邮箱账号、收件人邮箱账号、发送邮件)
server.sendmail(my_sender, recipients, msg.as_string()) server.quit() # 关闭连接
print("邮件发送成功")
except Exception as e:
print("邮件发送失败: ",e) if __name__ == '__main__':
my_sender = '126xxxx261@qq.com' # 发件人邮箱账号
my_pass = 'xxxxxxxxxxxxxxxx' # 发件人邮箱授权码 / 腾讯企业邮箱请使用登陆密码
recipients = '126xxxxx261@qq.com' # 收件人邮箱账号
mail(my_sender, my_pass, recipients)

使用注意

使用QQ邮箱作为发送端的话,必须开启SMTP服务,

请点击官方教程查看具体帮助.

具体设置如下(需要发送短信)

  • 1.登陆QQ邮箱,
  • 2.选择 设置 --> 账户
  • 3.开启 "POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务" 服务,生成授权码即可

假如使用腾讯企业邮箱,请修改

server = smtplib.SMTP_SSL("smtp.qq.com", port=465)

中的smtp.qq.com为smtp.exmail.qq.com,代码中提到

第一次写博客也有很多不足的地方,以后要多多学习,弥补自己.

有时间的话,会继续补充其他邮箱的使用,道理其实都一样

python 发送邮件 <QQ+腾讯企业邮箱>的更多相关文章

  1. python发送邮件

    python发送邮件(无附件) ======================================================= #!/usr/bin/env python#coding ...

  2. python发送邮件及附件

    今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题: 本人是mac如果没有按照依赖模块的请按照下面的截图安装 导入模块如 ...

  3. python 发送邮件实例

    留言板回复作者邮件提醒 -----------2016-5-11 15:03:58-- source:python发送邮件实例

  4. 解读Python发送邮件

    解读Python发送邮件 Python发送邮件需要smtplib和email两个模块.也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单.今天,就来好好学习一下使用Pyt ...

  5. python 发送邮件例子

    想到用python发送邮件 主要是服务器 有时候会产生coredump文件  ,然后因为脚本重启原因,服务器coredump产生后会重启 但是没有主动通知开发人员 想了下可以写个脚本一旦产生cored ...

  6. 利用python发送邮件

    找了很多使用python发送邮件的文章, 发现写的并不是太全, 导致坑特别多, 刚把这个坑跨过去, 在此记录下来 本代码使用163作为发送客户端, 接收邮箱随意 首先登录163邮箱, 开启POP3/S ...

  7. 用Python发送邮件

    文件:send.py # -*- coding:utf-8 -*- # ## 任兴测试用Python发送邮件 import os import sys import getopt import tim ...

  8. ETL过程跑完后,使用python发送邮件

    目标库中,如果有行数为0的表,使用python发送邮件 # -*- coding:utf-8 -*- # Author: zjc # Description:send monitor info to ...

  9. 【转】【Python】Python发送邮件(常见四种邮件内容)

    在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...

  10. 使用python发送邮件

    最近需要做一个功能,统计bug的数量,然后发邮件给指定人,所有就先要了解一下使用python发送邮件 代码如下: #coding: utf-8 import smtplib from email.MI ...

随机推荐

  1. hadoop-06-http服务

    hadoop-06-http服务 su root service httpd status service httpd stop vi /etc/httpd/conf/httpd.conf 修改:Do ...

  2. bzoj1497【NOI2006】最大获利

    1497: [NOI2006]最大获利 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 3437  Solved: 1674 [id=1497" ...

  3. opecv2 MeanShift 使用均值漂移算法查找物体

    #if !defined OFINDER #define OFINDER #include <opencv2\core\core.hpp> #include <opencv2\img ...

  4. 如何将网站升级为HTTPS协议(整理)

    如何将网站升级为HTTPS协议(整理) 一.总结 一句话总结: 获取证书(有免费有付费):证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,要从经销商购买. 安装证书:证书可以放在/etc ...

  5. zzulioj--1807--小明在努力(递归)

    1807: 小明在努力 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 95  Solved: 35 SubmitStatusWeb Board Des ...

  6. Kali linux 2016.2(Rolling)中metasploit的端口扫描

    目前常见的端口扫描技术一般有如下几类: TCP  Connect.TCP SYN.TCP ACK.TCP FIN. Metasploit中的端口扫描器 Metasploit的辅助模块中提供了几款实用的 ...

  7. spring boot自动配置之jdbc

    1.DataSource配置 1.1 默认配置application.xml spring.datasource.url=jdbc:mysql://localhost/test spring.data ...

  8. PostgreSQL Replication之第四章 设置异步复制(8)

    4.8 处理时间线 时间线是一个您必须要知道的一个重要的概念,尤其是当您规划一个大型的设置的时候. 那么,什么是时间线呢?事实上,它是XLOG的一个分支.正常情况下,刚设置的一个数据库实例使用的时间线 ...

  9. sql点滴

    http://www.cnblogs.com/tylerdonet/p/5509398.html

  10. win环境操作mysql

    第一步:登录数据库 第二步:查看数据库 第三步:进入数据库 第四步:创建表 第五步:删除数据库 第六步:进入数据库查看表状态