一、使用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.comsmtp.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. JS在页面限制checkbox最大复选数

    应该是挺简单的代码, 记录一下分享. 首先最直接的想法就是使用循环, 用局部变量记录已选的checkbox, 达到最大值就将余下的checkbox都禁止选择, 例如以下: <!DOCTYPE h ...

  2. jni java与c++交互返回三维数组jobjectArray

    1.在java里创建一个类,在类里添加静态方法调用c++的类库dll,在java里创建要返回数组的函数.在java的main方法里创建返回后的测试方法. package cn.gov.cma.cnn. ...

  3. 使用深度学习检测DGA(域名生成算法)——LSTM的输入数据本质上还是词袋模型

    from:http://www.freebuf.com/articles/network/139697.html DGA(域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检 ...

  4. Reading and writing

    A text file is a sequence of characters stored on a permanent medium like a hard drive, flash memory ...

  5. bzoj 2456: mode 思维题 好题

    题目描述: 给你一个 $n$ 个数的数列,其中某个数出现了超过 n div 2 次即众数,请你找出那个数.空间大小:1mb 题解:显然,我们是不能开任何数组的,此题专卡空间.然而我们要求的东西也十分简 ...

  6. ES6学习笔记(十三)Iterator遍历器和for...of循环

    1.概念 遍历器(Iterator)就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署 Iterator 接口,就可以完成遍历操作(即依次处理该数据结构的所有 ...

  7. js闭包实例展示

    准确来说,闭包是基于正常的垃圾回收处理机制下的.也就是说,一般情况一个函数(函数作用域)执行完毕,里面声明的变量会全部释放,被垃圾回收器回收.但闭包利用一个技巧,让作用域里面的变量,在函数执行完之后依 ...

  8. Vijos 1071 && caioj 1411 动态规划2:打牌 (背包方案输出)

    非常奇怪的是,我在Vijos 1071能AC,在caioj 就只有50分 可以和前面一道题一样算方案,如果大于1就是多解 然后就输出方案就好了 #include<cstdio> #incl ...

  9. caioj 1069 动态规划入门(二维一边推2:顺序对齐)(最长公共子序列拓展总结)

    caioj 1068是最长公共子序列裸体,秒过, 就不写博客了 caioj 1069到1071 都是最长公共字序列的拓展,我总结出了一个模型,屡试不爽    (1) 字符串下标从1开始,因为0用来表示 ...

  10. Android studio树形

    原创作品,允许转载,转载时请务必声明作者信息和本声明.  http://www.cnblogs.com/zhu520/p/8349553.html 这个是上网找了好久才弄出来的,我把我上网找的总结也写 ...