python 配置 SMTP 发送邮件,支持 SSL 和非 SSL
#!/usr/bin/python3 import smtplib import traceback from email.mime.text import MIMEText from email.header import Header def send_html_email(smtp_host, smtp_port, use_ssl, from_addr, password, to_addrs, subject, content): try: msg = MIMEText(content, _subtype='html', _charset='utf-8') msg['Subject'] = Header(subject, 'utf-8') msg['From'] = from_addr msg['To'] = ",".join(to_addrs) print("use_ssl: {}".format(use_ssl)) if use_ssl: smtp = smtplib.SMTP_SSL() else: smtp = smtplib.SMTP() smtp.connect(smtp_host, smtp_port) smtp.set_debuglevel(1) smtp.login(from_addr, password) smtp.sendmail(from_addr, to_addrs, msg.as_string()) except: print("邮件发送失败") traceback.print_exc() finally: smtp.quit() if __name__ == '__main__': smtp_host = "smtp.126.com" smtp_ssl_port = 465 smtp_port = 25 from_addr = "nihaorz@126.com" password = "******" to_addrs = ["wangrui1066@geostar.com.cn", "nihaorz@qq.com"] subject = "python SMTP 测试邮件" content = '<a target="_blank" href="http://192.168.200.128">测试链接</a>' send_html_email(smtp_host, smtp_ssl_port, True, from_addr, password, to_addrs, subject, content) send_html_email(smtp_host, smtp_port, False, from_addr, password, to_addrs, subject, content)
支持 SMTP 及 SMTP_SSL
password 自行修改,qq、126、163 均需使用授权密码(非网页登录邮箱的账户密码)

浙公网安备 33010602011771号