学习了这么久的python知识,大家应该也都清楚地明白了python的功能是很强大的,不仅能够开发程序,也还能帮助我们快速的完成很多事情,那么接下来小编就教大家一个有趣的知识,通过python来群发邮件,感兴趣的小伙伴不妨来看看吧 。
文章插图
想要实现群发邮件,我们就要知道首先需要发送邮件再进行自动发送才能够实现群发邮件,想要实现发送邮件这一步,我们就需要使用到smtplib模块和email模块,可能有小伙伴对于这一块的知识还不清楚,没关系,在接下来的文章中我们也会做详细的介绍 。想要实现自动发送就需要使用到time 和 schedule两个模块,意思就是到点自动发送 。
【如何通过python群发邮件?可以试试这样做】最主要的一步就是群发邮件,我们就需要导入我们熟悉的pandas,接下来,就举个例子吧:
import smtplibfrom email.mime.text import MIMEtextfrom email.mime.multipart import MIMEMultipartfrom email.utils import formataddrimport scheduleimport timeimport pandas as pddf=pd.read_excel('所需要发送的文件名',sheet_name='')df_to=df['收件人'].values.tolist()df_cc=df['抄送人'].values.tolist()from_addr='12345@qq.com'password='邮箱授权码'to_addrs=df_to+df_cc message = MIMEMultipart() message['From'] = formataddr(['***',from_addr])message['To'] = ";".join(df_to) df_to=str(df_to)message['Subject'] = '邮件主题'message['Cc']= ";".join(df_cc)add_body=MIMEText('正文内容',_subtype='plain', _charset='utf_8')message.attach(add_body)add_file = MIMEText(open(r'文件所存放的地址', 'rb').read(),'base64','utf-8')add_file["Content-Type"] = 'application/octet-stream'add_file["Content-Disposition"] = 'attachment; filename="所需的文件名"' message.attach(add_file)def mail():try:smtpObj = smtplib.SMTP_SSL('smtp.qq.com', 465)smtpObj.login(from_addr,password)smtpObj.sendmail( from_addr,to_addrs,message.as_string())print('success')smtpObj.quit()except smtplib.SMTPException as e: print('error',e)schedule.every().day.at('23:08').do(mail)while True:schedule.run_pending()time.sleep(10)以上的例子就是先导入所需要的所有模块,然后找到自己所需要的文件,讲所需要的文件转变为列表的形式,随即再设置接收人以及密码,再设置密码,设置内容,这些都是实现群发邮件的第一步实现发送邮件,随即再设置登录自动发送,选择需要群发的地址,设置多久执行一次,例子中是设置10秒执行一次发送 。
以上就是关于如何群发邮件的内容了,感兴趣的小伙伴也可以自己动手实操一下了 。
推荐阅读
- 什么是python的SMTP?如何使用SMTP发送邮件?
- 如何使用python中的幂运算?可以试试这样做
- 什么是python的socket函数?如何使用socket()函数?
- Python怎么运行桌面文件?Python调用桌面文件的方法
- 什么是python自动类型转换?看完你就知道
- Python怎么运行bat文件?Python执行bat文件的方法
- Python怎么进入编辑模式?Python编辑模式是什么
- Python怎么安装pip?pip安装的方法介绍
- 如何使用python的数据强制类型转换?试试这样做吧
- Python下载的whl文件是什么?Python如何安装whl文件