以下是一个使用Python发送邮件的脚本示例,我们将使用smtplib库和email库来实现这个功能。
确保已经安装了smtplib库和email库,如果没有安装,可以使用以下命令安装:
pip install securesmtplib pip install email
我们创建一个名为send_email.py的Python脚本,并添加以下代码:
import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText def send_email(subject, body, to_email): # 配置发件人邮箱和密码 from_email = "your_email@example.com" password = "your_password" # 创建邮件对象 msg = MIMEMultipart() msg["From"] = from_email msg["To"] = to_email msg["Subject"] = subject # 添加邮件正文 msg.attach(MIMEText(body, "plain")) # 连接到SMTP服务器 server = smtplib.SMTP("smtp.example.com", 587) server.starttls() # 登录到发件人邮箱 server.login(from_email, password) # 发送邮件 server.sendmail(from_email, to_email, msg.as_string()) # 关闭连接 server.quit() if __name__ == "__main__": subject = "邮件主题" body = "邮件正文" to_email = "recipient@example.com" send_email(subject, body, to_email)
在这个脚本中,我们定义了一个名为send_email的函数,它接受三个参数:邮件主题、邮件正文和收件人邮箱,我们使用smtplib库连接到SMTP服务器,然后使用email库创建一个邮件对象,并将邮件正文附加到邮件对象上,我们使用SMTP服务器的sendmail方法发送邮件。
请注意,您需要将脚本中的以下变量替换为您自己的值:
from_email:您的发件人邮箱地址
password:您的发件人邮箱密码
smtp.example.com:您的SMTP服务器地址(对于Gmail,这是smtp.gmail.com)
587:您的SMTP服务器端口号(通常为587或465)
要运行此脚本,请在命令行中输入以下命令:
python send_email.py
这将发送一封包含指定主题和正文的电子邮件到指定的收件人邮箱。
下面是一个用Python编写的基本发送邮件脚本,我将其以介绍的形式展示,以方便您理解每一行代码的作用。
行号 | 代码行 | 说明 |
1 | import smtplib | 导入smtplib模块,用于发送邮件 |
2 | from email.mime.text import MIMEText | 从email.mime.text模块导入MIMEText类,用于构建邮件内容 |
3 | from email.mime.multipart import MIMEMultipart | 从email.mime.multipart模块导入MIMEMultipart类,用于构建带附件的邮件 |
4 | # 设置服务器信息 | 注释,说明下面的代码用于设置邮件服务器信息 |
5 | smtp_server = 'smtp.example.com' | 设置SMTP服务器地址 |
6 | smtp_port = 587 | 设置SMTP服务器端口,通常非加密连接使用587 |
7 | smtp_user = 'your_email@example.com' | 设置发件人邮箱账号 |
8 | smtp_password = 'your_password' | 设置发件人邮箱密码 |
9 | # 设置邮件内容 | 注释,说明下面的代码用于设置邮件内容 |
10 | sender = 'your_email@example.com' | 设置发件人邮箱 |
11 | receiver = 'receiver_email@example.com' | 设置收件人邮箱 |
12 | subject = 'Python Test Email' | 设置邮件主题 |
13 | body = 'This is a test email sent from a Python script.' | 设置邮件正文 |
14 | msg = MIMEMultipart() | 创建MIMEMultipart实例用于构建邮件 |
15 | msg['From'] = sender | 设置邮件发件人 |
16 | msg['To'] = receiver | 设置邮件收件人 |
17 | msg['Subject'] = subject | 设置邮件主题 |
18 | msg.attach(MIMEText(body, 'plain')) | 将正文添加到邮件中 |
19 | # 发送邮件 | 注释,说明下面的代码用于发送邮件 |
20 | with smtplib.SMTP(smtp_server, smtp_port) as server: | 创建SMTP连接 |
21 | server.starttls() | 启动TLS加密 |
22 | server.login(smtp_user, smtp_password) | 登录SMTP服务器 |
23 | server.sendmail(sender, receiver, msg.as_string()) | 发送邮件 |
24 | print('Email sent successfully!') | 打印发送成功的消息 |
请注意,在真实环境中使用时,您需要替换smtp_server
,smtp_user
,smtp_password
,sender
,receiver
,subject
和body
的值,以匹配您的实际邮件服务器设置和邮件内容。
出于安全考虑,不建议在脚本中硬编码密码,您可以使用环境变量或其他安全的配置管理方法来处理敏感信息。
上一篇:cdn排名前5名_使用CDN前