Python:发送邮件或发带附件的邮件[Python基础]

python

 使用Python进行发邮件功能。

本文使用的是163邮件进行测试。

注:163邮箱现在需要使用 客户端授权码 进行测试,不再支持邮箱密码进行测试。

1、使用Python发Text 邮件

import smtplib

# 发送字符串的邮件

from email.mime.text import MIMEText

# 设置服务器所需信息

fromEmailAddr = "发件人邮箱地址"# 邮件发送方邮箱地址

password = "email password"# 密码(部分邮箱为授权码)

toEmailAddrs = ["接收方地址"] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发

# 设置email信息

# ---------------------------发送字符串的邮件-----------------------------

# 邮件内容设置

message = MIMEText("hello,test Python send Email.", "plain", "utf-8")

# 邮件主题

message["Subject"] = "python test email"

# 发送方信息

message["From"] = fromEmailAddr

# 接受方信息

message["To"] = toEmailAddrs[0]

# ---------------------------------------------------------------------

# 登录并发送邮件

try:

server = smtplib.SMTP("smtp.163.com") # 163邮箱服务器地址,端口默认为25

server.login(fromEmailAddr, password)

server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())

print("success")

server.quit()

except smtplib.SMTPException as e:

print("error:", e)

2、使用Python发送带附件的邮件

import smtplib

# 发送字符串的邮件

from email.mime.text import MIMEText

# 需要 MIMEMultipart 类

from email.mime.multipart import MIMEMultipart

# 设置服务器所需信息

fromEmailAddr = "发件人邮箱地址"# 邮件发送方邮箱地址

password = "email password"# 密码(部分邮箱为授权码)

toEmailAddrs = ["收件人地址"] # 邮件接受方邮箱地址,注意需要[]包裹,这意味着你可以写多个邮件地址群发

# 设置email信息

# ---------------------------发送带附件邮件-----------------------------

# 邮件内容设置

message = MIMEMultipart()

# 邮件主题

message["Subject"] = "python test email"

# 发送方信息

message["From"] = fromEmailAddr

# 接受方信息

message["To"] = toEmailAddrs[0]

# 邮件正文内容

message.attach(MIMEText("hello,test Python send Email", "plain", "utf-8"))

# 构造附件

att1 = MIMEText(open("text.txt", "rb").read(), "base64", "utf-8")

att1["Content-type"] = "application/octet-stream"

att1["Content-Disposition"] = "attachment; filename="test.zip""

message.attach(att1)

# ---------------------------------------------------------------------

# 登录并发送邮件

try:

server = smtplib.SMTP("smtp.163.com") # 163邮箱服务器地址,端口默认为25

server.login(fromEmailAddr, password)

server.sendmail(fromEmailAddr, toEmailAddrs, message.as_string())

print("success")

server.quit()

except smtplib.SMTPException as e:

print("error:", e)

以上是 Python:发送邮件或发带附件的邮件[Python基础] 的全部内容, 来源链接: utcz.com/z/530671.html

回到顶部