1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > pwd python 安装 模块_Python自动化办公之邮件定时发送

pwd python 安装 模块_Python自动化办公之邮件定时发送

时间:2022-02-22 10:40:52

相关推荐

pwd python 安装 模块_Python自动化办公之邮件定时发送

Python自动化之邮件的定时发送,我们这里使用网易163邮箱。

Python邮件操作相关模块的安装

yagmail,The goal here is to make it as simple and painless as possible to send emails./kootenpv/yagmail,作者希望让发邮件变得更加简单方便。

schedule是一个轻量级的定时任务调度的模块,可以完成每分钟,每小时,每天,周几,特定日期的定时任务。因此十分方便我们执行一些轻量级的定时任务。

库的安装

pip install yagmail schedule

多个模块的安装只需要将模块名字放在依次放在install后面就好。

1. 邮箱的SMTP服务的开启

首先你得有一个163邮箱,当然其他邮箱也是可以的。在设置打开POP3/SMTP,IMAP/SMTP,需要邮箱绑定的手机号发送一条短信,你会得到一个授权码。这个授权码只显示一次,复制下来保存到授权码.txt文件中。

点击开启,会提示发送短信验证,下面是开启之后的状态。

2. 发送邮件

importyagmail

withopen('授权码.txt','r')asf:

pwd=f.read()

yag=yagmail.SMTP(user='发件人邮箱@',password=pwd,host='')

mail_to='收件人邮箱@'

contents=[

'第一部分内容',

'第二部分内容',

]

subject='这是一个正式的通知'

attachments=[r'mydata.zip']

yag.send(mail_to,subject,contents,attachments)

yag.close()

给多个人发送邮件只需要将收件人都保存在一个列表中就可以。["收件人1邮箱","收件人2邮箱"],实现批量发送。

yagmail.SMTP连接邮箱的时候需要带上授权码,我们可以先注册授权码(只需要一次),后续的连接邮箱就可以不需要带上授权码。

#withopen('授权码.txt','r')asf:

#pwd=f.read()

#yagmail.register('langkun1994@',pwd)#只需要运行一次,之后就可以注释掉

yag=yagmail.SMTP(user='发件人邮箱@',host='')

3. 定时发送邮件

使用schedule定时任务实现定时发送邮件,将上面的发送邮件代码封装到一个函数中,schedule实现定时发送邮件。

importtime

importschedule

importyagmail

defsend_mail():

withopen('授权码.txt','r')asf:

pwd=f.read()

yag=yagmail.SMTP(user='发件人邮箱@',password=pwd,host='')

contents=[

'第一部分内容',

'第二部分内容',

]

attachments=[r'mydata.zip']

yag.send('收件人邮箱@','这是一个正式的通知',contents,attachments)

yag.close()

schedule.every(10).minutes.do(send_mail)#每十分钟

schedule.every().hour.do(send_mail)#每小时

schedule.every().day.at('10:30').do(send_mail)#每天的10:30

schedule.every(5).to(10).minutes.do(send_mail)#5-10分钟

schedule.every().monday.do(send_mail)#每周一

schedule.every().wednesday.at('10:30').do(send_mail)#每周三10:30

schedule.every().minute.at(':20').do(send_mail)#每分钟的20秒

whileTrue:

schedule.run_pending()

time.sleep(1)

希望可以有帮助,python自动化可以提高办公的效率,节省很多的重复性工作的时间。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。