qq邮箱自动转发怎么关闭-自动邮件发送_任何情况立刻通知你

生活百科1年前 (2023)发布 aixure
126 0 0

Python自动邮件发送

在日常工作中,我们经常需要收发邮件qq邮箱自动转发怎么关闭,不知大家可曾想过,如果能够实现自动发送,那岂不是爽歪歪~

就像跑图像检测的模型经常跑一两天,如果经常要主动去查看模型进度还是太麻烦了~如果能够实现自动邮件发送,等报表生成后、模型运行结束后或者遇到异常情况就能实现自动邮件通知,岂不是不要太方便?!

今天给大家分享一下如何使用Python实现自动发送邮件。

qq邮箱自动转发怎么关闭-自动邮件发送_任何情况立刻通知你

在实现自动化发送邮件前,先简单介绍一下需要使用到的两个模块:smtplib和email。

qq邮箱自动转发怎么关闭-自动邮件发送_任何情况立刻通知你

1. 链接邮箱服务器

在发送邮件前,需要先使用smtplib模块链接邮箱服务器,此处以连接腾讯企业邮箱为例qq邮箱自动转发怎么关闭,代码如下:

  1. # 实例化SMTP

  2. smtp = smtplib.SMTP()

  3. # 链接邮件服务器

  4. smtp.connect("smtp.exmail.qq.com")

  5. # 配置发送邮箱的用户名和密码

  6. smtp.login("huojc@create80.com", "123456")

2. 配置邮件信息

邮件服务器链接完成后,我们就可以配置发送邮件的信息了,其中包括邮件发送的内容、收件人和抄送人信息、附件内容。配置代码如下:

  1. # 配置发送内容msg

  2. msg = MIMEMultipart()

  3. msg.attach(MIMEText("test11",_subtype='html',_charset='utf-8'))

  4. msg['Subject'] = Header("testtitle",'utf-8')

  5. msg['From'] = "huojc@create80.com"


  6. # 添加发送人邮件信息(支持群发)

  7. msg['To'] = ';'.join(["huojc@create80.com"])


  8. # 添加抄送人邮件信息

  9. msg['Cc'] = ';'.join(["huojc@create80.com"]) # 抄送邮箱


  10. # 添加附件信息(可包含多个附件)

  11. for a_path in ['D:/test1.txt','D:/test2.docx']:

  12. name = os.path.basename(a_path) # 获取附件文件名

  13. part = MIMEApplication(open(a_path,'rb').read())

  14. part.add_header("Content-Disposition", "attachment", filename=("gbk", "", str(name))) # 可以显示附件的中文名字

  15. msg.attach(part)

3. 发送邮件

完成了上面的操作后,就可以进行邮件的发送,在发送完邮件后,需要关闭邮件服务。

  1. # 发送邮件

  2. smtp.sendmail('huojc@create80.com','huojc@create80.com',msg.as_string())

  3. # 关闭邮件服务

  4. smtp.quit()

为了方便使用,将上面的代码封装成send_email函数

  1. def send_email(SMTP_host, from_account, from_password, to_account, Cc_email,subject, content,attachment_path):

函数中的参数说明如下:

send_email代码如下:

  1. import smtplib

  2. import os

  3. from email.mime.text import MIMEText

  4. from email.mime.multipart import MIMEMultipart

  5. from email.mime.application import MIMEApplication

  6. from email.header import Header


  7. def send_email(SMTP_host, from_account, from_password, to_account, Cc_email,subject, content,attachment_path):

  8. # 实例化SMTP

  9. smtp = smtplib.SMTP()

  10. # 链接邮件服务器

  11. smtp.connect(SMTP_host)

  12. # 配置发送邮箱的用户名和密码

  13. smtp.login(from_account, from_password)


  14. # 配置发送内容msg

  15. msg = MIMEMultipart()

  16. msg.attach(MIMEText(content,_subtype='html', _charset='utf-8'))

  17. msg['Subject'] = Header(subject,'utf-8')

  18. msg['From'] = from_account


  19. # 添加发送人邮件信息

  20. msg['To'] = ';'.join(to_account) #群发邮件


  21. # 添加抄送人邮件信息

  22. msg['Cc'] = ';'.join(Cc_email) # 抄送邮箱


  23. # 添加附件信息(包含多个附件)

  24. for a_path in attachment_path:

  25. name = os.path.basename(a_path) # 获取附件文件名

  26. part = MIMEApplication(open(a_path,'rb').read())

  27. part.add_header("Content-Disposition", "attachment", filename=("gbk", "", str(name))) # 可以显示附件的中文名字

  28. msg.attach(part)


  29. # 配置发送邮箱,接受邮箱,以及发送内容

  30. smtp.sendmail(from_account, to_account, msg.as_string())

  31. # 关闭邮件服务

  32. smtp.quit()

封装好send_email函数后,我们就可以很方便的发送邮件了,下面以发送邮件到腾讯企业邮箱为例

  1. if __name__ == '__main__':

  2. my_email = 'huojc@create80.com' # 发送邮件的邮箱名

  3. my_email_password = '123456' # 邮箱密码

  4. to_email = ['huojc@create80.com'] # 接收者邮箱,可传入多个

  5. Cc_email = [] # 抄送邮箱,可以传入多个

  6. Email_title = '测试邮件-标题' # 设置发送邮件的标题

  7. Email_content = '测试邮件-内容' # 设置发送邮件的内容

  8. attachment_path = ['D:/邮件发送/p1.jpg','D:/邮件发送/test1.docx','D:/邮件发送/test2.xlsx'] # 附件的路径

  9. # 使用前记得输入邮箱密码

  10. send_email("smtp.exmail.qq.com", my_email, my_email_password, to_email, Cc_email, Email_title, Email_content, attachment_path)

代码运行成功后,发送结果如下所示:

qq邮箱自动转发怎么关闭-自动邮件发送_任何情况立刻通知你

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:

© 版权声明

相关文章

暂无评论

暂无评论...