在日常工作中,可能需要定时的周围的同事或者朋友发送邮件,那么这种机械化的任务可以用python去实现自动发送邮件,这样可以帮我们省了很多时间和不必要的挂念。
那么python就有邮件发送的功能,邮件发送有两种形式,一种是正文内容,一种是附件内容。
发送邮件函数
def send_mail(email):
smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
smtp.login(SEND_FROM, TOKEN)
email['From'] = SEND_FROM
email['To'] = 'danmoln@163.com'
email['Subject'] = '淡墨流年发送的邮件内容'
smtp.sendmail(SEND_FROM, SEND_TO, email.as_string())
print('发送成功')
smtp.quit()
对于正文内容,可以这样写:
def plain_mail():
content = '用python发送的正文内容'
email_content = MIMEText(content, 'plain', 'utf-8')
send_mail(email_content)
这里的token,是需要在网页qq邮箱中的设置获取token
实现结果,登录我的163邮箱,可以看到邮件内容已经发送
发送附件内容:
def file_mail():
with open(r'seo快排监控-2022.xlsx','rb') as f:
file_data = f.read()
file_content = MIMEText(file_data,'base64','utf-8')
file_content.add_header('Content-Disposition', 'attachment', filename='seo快排监控-2022.xlsx')
send_mail(file_content)
发送结果
如果说正文消息和附件消息同时发送的话,那么需要创建复合邮件对象
def complex_mail(content,file_data):
message = MIMEMultipart()
message.attach(content)
message.attach(file_data)
send_mail(message)
后面我们在创建一个定时任务,定时任务的设定可以参考我前面的文章。这样就可以自动发送邮件了。
对于自动发送邮件,有时也可以进行邮件营销,简称EDM。对于电子邮件营销,首先自然是有邮箱,就比如某qq群,通过qq号就知道qq邮箱了。对于qq邮箱的获取只要获取qq号就行。那么就要批量获取qq号。

这里通过网页版的qq群,可以看到这些qq号
获取也很简单,这里可以看到qq信息是通过异步加载出来的
那么写爬虫的话,就可以轻松抓取下来了
最后,拿到qq邮箱信息后,依次进行循环发送邮件就可以了,这样就实现了qq邮件营销的功能了。








