当前位置: 首页 > article >正文

python自动发送邮件,qq邮箱、网易邮箱自动发送和回复

        在python中,我们可以用程序来实现向别人的邮箱自动发送一封邮件,甚至可以定时,如每天8点钟准时给某人发送一封邮件。今天,我们就来学习一下,如何向qq邮箱,网易邮箱等发送邮件。

      一、获取邮箱的SMTP授权码。

        1、要发送邮件,首先要获取对应邮箱的SMTP授权码,有了这个SMTP授权码才能发送邮件。

        以qq邮箱为例:

         1)首先登录主页,在主页上面,点击设置,点击账户。

2)在账户页面一直往下拉,找到如下图所示位置。

   3) 点击POP3/SMTP服务中的开启按钮。点击开启后,会有一个手机验证,把需要发送的内容发送到指定号码,然后点击“我已发送”按钮。

       4)之后会自动跳出一个框,里面就包含着SMTP授权码,把它复制下来,储存到一个地方方便以后调用

         

 

        5)同理,你要给网易邮箱发送邮件的话,你也要登录网易邮箱,然后获取SMTP授权码。

 


二、编写发送代码

        1、首先安装邮件发送的库smtplib

        2、引入邮件发送的库

import smtplib#引入控制邮箱发送邮件的库
from email.mime.text import MIMEText

        3、新建邮件对象,填入邮件的正文内容和发件人、收件人等信息。

#1.邮件正文内容
msg = MIMEText('测试邮件正文内容')

user ='你自己的qq号@qq.com' #发件人邮箱
pwd = '你自己的SMTP授权码' #邮箱的SMTP授权码
to = '你自己设置的收件人邮箱'#收件人,可以写多个收件人,用英文逗号隔开

#2.设置邮件主题、发件人、收件人
msg[ 'Subject' ] ='测试邮件主题!'#邮件的标题
msg[ 'From ' ] = user#设置发件人
msg['To'] = to#设置收件人

        其中要在pwd变量中输入你第一步得到的SMTP授权码。然后要设置发件人,也就是你自己的邮箱,还有就是收件人的邮箱,收件人的邮箱可以是多个,多个之间用英文的逗号隔开即可。

        4、调用qq邮箱服务,登录邮箱,发送邮件        

#3.发送邮件
s = smtplib.SMTP_SSL ('smtp.qq.com', 465)#选择qq邮箱服务,默认端口为465
s.login(user, pwd)#登录qq邮箱
s.send_message(msg)#发送邮件
s.quit()#退出邮箱服务
print( ' Success! ')

        其中smtp.qq.com为qq邮箱服务名,465为邮箱端口号,这对于qq邮箱是固定的,不可修改。

如果是网易邮箱,则使用smtp.163.com,端口号还是465

        5、测试发送文件。发送成功!!!


三、发送HTML邮件

         有的情况下,我们需要发送html格式的邮件,那么我们应该怎么做呢?

        关键点就是新建邮件对象时,指定邮件的格式为html:      

mail_msg = '''
<p>这个是一个常规段落</p>
p><a href="https : / /www.baidu.com">这是一个包含链接的段落</a></p>
'''
msg = MIMEText(mail_msg, 'html' , 'utf-8')

    其中,mail_msg就是我们的html格式的邮件内容,然后把之前的msg = MIMEText('测试邮件正文内容')增加两个参数,一个参数指定格式为html,另一个参数指定编码方式为utf-8 。

      其它代码和普通邮件发送的代码一样。


http://www.kler.cn/a/3221.html

相关文章:

  • 二叉树介绍
  • 网易云音乐歌名可视化:词云生成与GitHub-Pages部署实践
  • Java基础知识总结(二十七)--Jdk5.0新特性:
  • 工作总结:git篇
  • 知识库建设对提升团队协作与创新能力的影响分析
  • npm:升级自身时报错:EBADENGINE
  • LeetCode-674. 最长连续递增序列
  • .NET Core 实现Excel的导入导出
  • 裸机条件下写一个基于时间片轮转的多任务并发程序
  • 动态内存管理(上)——“C”
  • 学习系统编程No.9【文件操作】
  • jvm_根节点枚举安全点安全区域
  • JavaScript传参的6种方式
  • 前端三剑客常见面试题及其答案
  • dwf镜像安装
  • Vue实战【Vue项目开发时常见的几个错误】
  • 不同类型的电机的工作原理和控制方法汇总
  • 《Qt 6 C++开发指南》提供4个版本的示例程序
  • 可别再用BeanUtils了(性能拉胯),试试这款转换神器
  • CentOS支持中文
  • 蓝桥杯嵌入式--LCD屏幕使用提升
  • 自动驾驶V2X
  • 【10】核心易中期刊推荐——模式识别与机器学习
  • Github隐藏功能显示自己的README,个人化你的Github主页
  • 【嵌入式烧录/刷写文件】-1-详解Motorola S-record(S19/SREC/mot/SX)格式文件
  • [入门必看]数据结构2.3:线性表的链式表示