python 发送邮件 <QQ+腾讯企业邮箱>
一、使用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+腾讯企业邮箱>的更多相关文章
- python发送邮件
python发送邮件(无附件) ======================================================= #!/usr/bin/env python#coding ...
- python发送邮件及附件
今天给大伙说说python发送邮件,官方的多余的话自己去百度好了,还有一大堆文档说实话不到万不得已的时候一般人都不会去看,回归主题: 本人是mac如果没有按照依赖模块的请按照下面的截图安装 导入模块如 ...
- python 发送邮件实例
留言板回复作者邮件提醒 -----------2016-5-11 15:03:58-- source:python发送邮件实例
- 解读Python发送邮件
解读Python发送邮件 Python发送邮件需要smtplib和email两个模块.也正是由于我们在实际工作中可以导入这些模块,才使得处理工作中的任务变得更加的简单.今天,就来好好学习一下使用Pyt ...
- python 发送邮件例子
想到用python发送邮件 主要是服务器 有时候会产生coredump文件 ,然后因为脚本重启原因,服务器coredump产生后会重启 但是没有主动通知开发人员 想了下可以写个脚本一旦产生cored ...
- 利用python发送邮件
找了很多使用python发送邮件的文章, 发现写的并不是太全, 导致坑特别多, 刚把这个坑跨过去, 在此记录下来 本代码使用163作为发送客户端, 接收邮箱随意 首先登录163邮箱, 开启POP3/S ...
- 用Python发送邮件
文件:send.py # -*- coding:utf-8 -*- # ## 任兴测试用Python发送邮件 import os import sys import getopt import tim ...
- ETL过程跑完后,使用python发送邮件
目标库中,如果有行数为0的表,使用python发送邮件 # -*- coding:utf-8 -*- # Author: zjc # Description:send monitor info to ...
- 【转】【Python】Python发送邮件(常见四种邮件内容)
在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下,Shell脚本发送邮件告警是件很简单的事,有现成的邮件服务软件或者调 ...
- 使用python发送邮件
最近需要做一个功能,统计bug的数量,然后发邮件给指定人,所有就先要了解一下使用python发送邮件 代码如下: #coding: utf-8 import smtplib from email.MI ...
随机推荐
- C++ Primer笔记13_运算符重载_总结
总结: 1.不能重载的运算符: . 和 .* 和 ?: 和 :: 和 sizeof 和 typeid 2.重载运算符有两种基本选择: 类的成员函数或者友元函数, 建议规则例如以下: 运算符 建议使用 ...
- mysql-总结select各子句及其顺序
顺序:from->where ->group by->having ->order by
- 【金阳光測试】基于控件核心技术探讨---Android自己主动化系列(2)---2013年5月
第一讲分享了下安卓自己主动化一些概况和一些自己主动化框架现状和技术可以解决什么样的问题. 这次课就深入到android世界里面.遨游.翱翔.深入了解自己主动化測试核心技术. 搞过编程开发的同学听到in ...
- [SDOI2010] 古代猪文 (快速幂+中国剩余定理+欧拉定理+卢卡斯定理) 解题报告
题目链接:https://www.luogu.org/problemnew/show/P2480 题目背景 “在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色 ...
- mysql if使用实例
//DELIMITER DROP PROCEDURE if EXISTS createAmountCount; create PROCEDURE createAmountCount() BEGIN D ...
- Asp.Net中使用水晶报表(中)
Asp.Net中使用水晶报表(中) 使用Pull模式 我们将通过下面的这些步骤来通过Pull模式来执行水晶报表 1.首先创建rpt文件,并使用水晶报表设计接口设置一些必须的数据连接. 2.拖放一个 C ...
- Spring深入浅出(一)IOC的基本知识
Spring前言 Spring是一个企业级开发框架,为解决企业级项目开发过于复杂而创建的,框架的主要优势之一就是分层架构,允许开发者自主选择组件. Spring的两大核心机制是IOC(控制反转)和AO ...
- P1452 Beauty Contes
题目背景 此处省略1W字^ ^ 题目描述 贝茜在牛的选美比赛中赢得了冠军”牛世界小姐”.因此,贝西会参观N(2 < = N < = 50000)个农场来传播善意.世界将被表示成一个二维平面 ...
- 双列集合Map的嵌套遍历
双列集合Map的嵌套使用,例如HashMap中还有一个HashMap,这样的集合遍历起来稍微有点儿复杂.例如一个集合:HashMap<Integer,HashMap<String,Inte ...
- 请问Typecho Mysql 数据库和Sqlite数据库我该如何选择。
纠结如我,又纠结了,请大家帮忙看一下我该如何选择.就一个没有文章的博客.一直用VPS太浪费,现在换成了虚拟主机.但是虚拟主机的MYSQL数据库限制连接数30个,我不懂这是个什么概念,但是我觉得30太少 ...