【python】如何通过python来发邮件,各种发邮件方式详细解析
在Python中发送电子邮件可以使用内置的smtplib
模块以及email
模块。以下是一个简单的例子,展示了如何使用SMTP服务器发送电子邮件:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# 邮件发送者和接收者
sender_email = "your_email@example.com"
receiver_email = "receiver_email@example.com"
# 创建邮件对象和设置邮件内容
message = MIMEMultipart("alternative")
message["Subject"] = "Email Subject"
message["From"] = sender_email
message["To"] = receiver_email
# 创建邮件正文
text = """\
This is an example email body.
It can be in HTML or plain text.
"""
html = """\
<html>
<body>
<p>This is an example email body.</p>
<p>It can be in HTML or plain text.</p>
</body>
</html>
"""
# 添加文本和HTML的部分
part1 = MIMEText(text, "plain")
part2 = MIMEText(html, "html")
# 添加正文到邮件对象中
message.attach(part1)
message.attach(part2)
# 发送邮件
try:
# 创建SMTP服务器连接
with smtplib.SMTP_SSL("smtp.example.com", 465) as server:
server.login(sender_email, "your_password") # 登录邮箱
server.sendmail(sender_email, receiver_email, message.as_string()) # 发送邮件
except Exception as e:
print(f"Error: {e}")
print("Email sent!")
确保替换your_email@example.com
, receiver_email@example.com
, your_password
, smtp.example.com
为你自己的邮箱地址、密码和SMTP服务器。
这个例子展示了如何创建一个包含文本和HTML内容的邮件,并通过SSL加密的SMTP服务器发送。如果你的SMTP服务器使用不同的端口或加密方法,请根据实际情况调整代码。
评论已关闭