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 均需使用授权密码(非网页登录邮箱的账户密码)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具