在这个实例中,我们将使用Python编写一个程序,实现自动发送电子邮件的功能。我们将使用Python的smtplib库来发送电子邮件。
首先,请确保你已经安装了smtplib库。如果没有安装,可以通过以下命令来安装:
pip install secure-smtplib
下面是一个自动发送电子邮件的Python程序:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
def send_email(subject, body, from_email, to_email, smtp_server, smtp_port, username, password, attachments=None):
msg = MIMEMultipart()
msg['From'] = from_email
msg['To'] = to_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
if attachments:
for attachment in attachments:
with open(attachment, "rb") as file:
part = MIMEApplication(file.read())
part.add_header('Content-Disposition', f'attachment; filename="{attachment}"')
msg.attach(part)
try:
with smtplib.SMTP_SSL(smtp_server, smtp_port) as server:
server.login(username, password)
server.sendmail(from_email, to_email, msg.as_string())
print("邮件发送成功!")
except smtplib.SMTPException as e:
print(f"邮件发送失败:{e}")
if __name__ == "__main__":
# 邮件配置
subject = "测试邮件"
body = "这是一封测试邮件,自动发送。"
from_email = "[email protected]" # 替换为发件人邮箱地址
to_email = "[email protected]" # 替换为收件人邮箱地址
smtp_server = "smtp.example.com" # 替换为SMTP服务器地址
smtp_port = 465 # SMTP服务器端口号
username = "your_username" # 替换为发件人邮箱用户名
password = "your_password" # 替换为发件人邮箱密码
# 附件列表,如果没有附件可以设置为None
attachments = ["file1.txt", "file2.pdf"]
send_email(subject, body, from_email, to_email, smtp_server, smtp_port, username, password, attachments)
在上述代码中,我们定义了一个send_email
函数,用于发送电子邮件。你需要将邮件配置部分替换为你自己的信息,包括发件人邮箱、收件人邮箱、SMTP服务器地址、SMTP服务器端口号、发件人邮箱用户名和密码。
如果你有附件需要发送,可以将附件文件名添加到attachments
列表中。如果没有附件,可以将attachments
设置为None。
运行程序后,它将自动发送一封测试邮件。请确保你的邮箱配置信息正确,以确保邮件可以成功发送。
注意:为了安全起见,请确保不要将真实的邮箱用户名和密码直接写入代码中。最好将这些敏感信息存储在配置文件或环境变量中,并在程序中进行读取。
标签:attachments,Python,smtp,收件箱,server,发送,msg,电子邮件,email From: https://blog.51cto.com/u_16160172/7421144