news 2026/3/8 14:38:12

Python 批量发送邮件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python 批量发送邮件

批量发送邮件

import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import ssl import time smtp_server = "example.test.com" port = 587# For starttls (consider using 587) sender_email = "example@test.com" password = "xxx" # WARNING: SSL verification is being DISABLED below. # This is INSECURE and should only be used for local testing. context = ssl._create_unverified_context() print("WARNING: SSL certificate verification is DISABLED (INSECURE).") try: server = smtplib.SMTP(smtp_server, port) server.ehlo() # 可以省略 # Start TLS using an unverified (insecure) context server.starttls(context=context) # INSECURE: certificate not verified server.ehlo() # 可以省略 server.login(sender_email, password) print("登录成功") # Create the email message message = MIMEMultipart("alternative") message["Subject"] = "测试主题" message["From"] = sender_email # message["To"] = "example@test.com" text = "test" html = """ <html> <body> <p>test<br> test! </p> </body> </html> """ part1 = MIMEText(text, "plain") part2 = MIMEText(html, "html") message.attach(part1) message.attach(part2) # Send the email to multiple recipients with a small delay recipients = ["example@test.com", "example@test.com"] for recipient in recipients: message["To"] = recipient try: server.sendmail(sender_email, recipient, message.as_string()) print(f"邮件已发送至: {recipient}") time.sleep(2) # 适当的时间间隔 except Exception as e: print(f"发送邮件到 {recipient} 时出错: {e}") except Exception as e: print(f"错误: {e}") finally: # 仅在连接仍然存在时调用 quit() try: if 'server' in locals() and getattr(server, 'sock', None): server.quit() except Exception: pass

发送附件邮件

from email.mime.base import MIMEBase from email import encoders message = MIMEMultipart() message["From"] = sender_email message["To"] = "receiver@example.com" message["Subject"] = "带附件的邮件" body = "这是一个带附件的邮件" message.attach(MIMEText(body, "plain")) filename = "document.pdf" with open(filename, "rb") as attachment: part = MIMEBase("application", "octet-stream") part.set_payload(attachment.read()) encoders.encode_base64(part) part.add_header( "Content-Disposition", f"attachment; filename= {filename}", ) message.attach(part)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/8 10:24:00

图片助手大揭秘!网页图片高效获取管理就靠它!

图片助手大揭秘!网页图片高效获取管理就靠它! 在信息如洪流般奔涌的当下,图片宛如璀璨星辰,点缀着我们日常生活的每一处角落。无论是刷社交媒体时被精美的图片吸引,还是在浏览网页时需要收集资料图片,高效获取和管理这些图片资源都成了我们的迫切需求。然而,手动一张张下…

作者头像 李华
网站建设 2026/3/5 0:04:14

Docker MCP 网关工具发现机制大解密,运维老鸟都在偷偷收藏

第一章&#xff1a;Docker MCP 网关的工具发现机制Docker MCP&#xff08;Microservice Control Plane&#xff09;网关作为微服务架构中的核心组件&#xff0c;承担着服务路由、流量控制与工具动态发现的关键职责。其工具发现机制通过监听容器生命周期事件&#xff0c;自动识别…

作者头像 李华
网站建设 2026/3/5 21:52:55

你的手机要变了!GPT-5.2/Gemini 3 争夺的不是 AI 榜首,而是下一代流量“操作系统的终极入口”!App 和搜索要被淘汰了?一场交互模式的史诗级革命!

朋友们&#xff0c;前四篇咱们聊了芯片、聊了商业、聊了 AGI 的临界点。但归根结底&#xff0c;AI 的竞争&#xff0c;最终都将体现在用户界面和交互体验上。这场 GPT-5.2 vs. Gemini 3的超级对决&#xff0c;争夺的早已不是科技圈的虚名&#xff0c;而是价值数万亿美元的全球流…

作者头像 李华
网站建设 2026/3/5 4:03:20

再访肖刚 | 一个“骨灰级”的“百炼成刚”者

2019年&#xff0c;我写过一篇访谈&#xff0c;被访谈人蓝色星际董事长肖刚。六年过去&#xff0c;虽不是沧海桑田&#xff0c;但大环境、行业的变化&#xff0c;技术的升级&#xff0c;AI的扩张&#xff0c;却让人恍如隔世。再次来到肖刚的办公室时&#xff0c;他们已经从产业…

作者头像 李华