使用Python发送邮件的步骤如下:
准备工作
安装`smtplib`和`email`模块。这些是Python内置的模块,不需要额外安装。如果使用Anaconda环境,可以直接在终端输入指令安装。如果使用pip,可以运行`pip install smtplib email`。
连接邮箱服务器
导入`smtplib`模块。
使用`smtplib.SMTP_SSL`连接到SMTP邮件服务器。常见的SMTP服务器地址和端口号为`smtp.example.com`和`465`(支持SSL)。
登录邮箱
使用`smtp.login`方法登录到邮箱,提供发件人的邮箱地址和授权码(不是邮箱密码)。
构建邮件内容
使用`email.mime.text.MIMEText`创建邮件内容,设置邮件的`From`、`To`和`Subject`头部信息。
发送邮件
使用`smtp.sendmail`方法发送邮件,将邮件内容从发件人发送到收件人。
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
发件人信息
sender = "your_email@example.com"
password = "your_authorization_code"
receiver = "receiver_email@example.com"
邮件内容
subject = "这是一个测试邮件"
body = "嗨,这是一封用Python发送的测试邮件。"
构建邮件
message = MIMEText(body, "plain", "utf-8")
message["From"] = Header("发件人名称", "utf-8")
message["To"] = Header("收件人名称", "utf-8")
message["Subject"] = Header(subject, "utf-8")
发送邮件
try:
smtp = smtplib.SMTP_SSL("smtp.example.com", 465)
smtp.login(sender, password)
smtp.sendmail(sender, receiver, message.as_string())
print('邮件发送成功啦!')
except Exception as e:
print(f"邮件发送失败: {e}")
finally:
smtp.quit()
```
请确保将`your_email@example.com`、`your_authorization_code`和`receiver_email@example.com`替换为实际的邮箱地址和授权码。同时,将`smtp.example.com`和`465`替换为实际的SMTP服务器地址和端口号。
建议
安全性:在实际应用中,避免在代码中硬编码敏感信息,如邮箱密码。可以使用环境变量或配置文件来存储这些信息。
错误处理:在实际应用中,建议添加更详细的错误处理逻辑,以便更好地捕获和处理可能出现的异常情况。