当前位置:   article > 正文

Python实现发邮件_python 写邮件

python 写邮件

目录

1. 介绍

2. 准备工作

3. 代码实现

4. 验证测试


1. 介绍

        本文将介绍python程序使用QQ邮箱账号,实现发送邮件的功能。您可以访问我的主页查看更多文章。

代码写不完了的博客代码写不完了擅长Python项目,python爬虫,python操作文件,等方面的知识,代码写不完了关注pandas,python,django,pygame,spark,pip,virtualenv,numpy,flask领域.https://blog.csdn.net/spx_0108

2. 准备工作

(1)通过浏览器登录网页版QQ邮箱,然后进入到设置页面:

(2) 向下滑,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启服务,我的已开启,这边不再做演示,点击管理服务,进入管理界面:

 (3)点击生成授权码,然后按照提示操作:

 (4)复制保存生成的授权码:

3. 代码实现

        编写sendemail.py:

  1. import smtplib
  2. from email.mime.text import MIMEText
  3. from email.header import Header
  4. class SendEmail():
  5. def __init__(self, subject, info):
  6. # 发件人邮箱
  7. self.sender = '******@qq.com'
  8. # 发件人邮箱密码(注意不是QQ密码,是授权码)
  9. self.password = '*********'
  10. # 收件人邮箱,可以是多个邮箱,使用列表存储
  11. self.receiver = ['****@qq.com']
  12. # 发件人昵称
  13. self.nickname = '***'
  14. # SSL协议端口号要使用465
  15. self.smtp_ssl_server = 'smtp.qq.com'
  16. self.smtp_ssl_port = 465
  17. self.subject = subject
  18. self.info = info
  19. def send_email(self):
  20. message = MIMEText(self.info, 'plain', 'utf-8') # 邮件正文
  21. message['From'] = Header(f'{self.nickname} <{self.sender}>') # 发件人昵称
  22. message['To'] = Header(self.receiver[0]) # 收件人昵称
  23. message['Subject'] = Header(self.subject, 'utf-8') # 邮件主题
  24. try:
  25. # 登录SMTP服务器,发送邮件
  26. smtpObj = smtplib.SMTP_SSL(self.smtp_ssl_server, self.smtp_ssl_port)
  27. smtpObj.login(self.sender, self.password)
  28. smtpObj.sendmail(self.sender, self.receiver, message.as_string())
  29. print("邮件发送成功")
  30. except smtplib.SMTPException as e:
  31. print("邮件发送失败", e)
  32. if __name__ == '__main__':
  33. # 邮件主题
  34. subject = 'test'
  35. # 邮件正文
  36. info = 'test_info'
  37. test = SendEmail(subject, info)
  38. test.send_email()

4. 验证测试

运行sendemail.py,可以看到终端输出:

 收件人也收到了邮件:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/807161
推荐阅读
相关标签
  

闽ICP备14008679号