Python SMTP 发送HTML邮件(多个邮箱轮流发送)

Python SMTP 发送HTML邮件(多个邮箱轮流发送)

前言

因为各大邮箱都对同一ip有一定时间内邮件发送数量的限制,因此可采用不同邮箱混合轮流发送邮件来缓解此限制,这里提供了两个邮箱轮流发送的源代码,可继续增加elif结构来增加不同邮箱。

代码(懂原理仅需代码版)

代码只需要更改mail_usermail_pass即可使用,如果不需要输出详细信息可将41行注释掉。

#!python3
#coding=utf-8

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart


n = 0

#content应该是一个HTML内容
def send_mail(from_name = '发件人名称', to_name = '收件人名称', to_address = '收件人地址', head_content = '标题', content = '内容'):
    global n
    
    #此处可以设置多个elif结构来增加多个邮箱,此处以QQ邮箱和189邮箱为例
    if n%2 == 0:
        mail_user = "adress@qq.com"#QQ邮箱
        mail_pass = "授权码"#到QQ邮箱里去申请
        mail_host = "smtp.qq.com"#邮箱服务器
        mail_port = 465#邮箱服务器的端口
        mail_name = 'QQ'
    else:
        mail_user = 'adress@189.cn'#189邮箱
        mail_pass = "password"#189邮箱可以直接用密码
        mail_host = "smtp.189.cn"
        mail_port = 465
        mail_name = '189'

    message = MIMEMultipart('related')
    message['Subject'] = Header(head_content, 'utf-8')
    message['From'] = Header(from_name + '<' + mail_user + '>', 'utf-8')
    message['To'] = Header(to_name, 'utf-8')

    msgAlternative = MIMEMultipart('alternative')
    message.attach(msgAlternative)
    msgAlternative.attach(MIMEText(content, 'html', 'utf-8'))

    smtpobj = smtplib.SMTP_SSL(host = mail_host, port = mail_port)#连接到邮箱服务器
    
    smtpobj.set_debuglevel(1)#需要输出详细信息就保留这句话
    
    smtpobj.login(mail_user, mail_pass)#登录邮箱
    smtpobj.sendmail(mail_user, to_address, message.as_string())#发送邮件
    print(mail_name + "邮件发送成功")
    smtpobj.quit()

    n += 1


STMP是什么(STMP教程)

SMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。

使用python发送邮件十分方便,smtplib和email均为python的自带库,因此直接import即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jim-tom

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值