python3 发邮件
时间: 2024-09-11 21:10:17 浏览: 124
Python3使用SMTP协议发送电子邮件
在Python 3中发送邮件通常使用`smtp`库,这是Python的标准库之一,专门用于发送电子邮件。发送邮件的过程主要分为以下几个步骤:
1. 导入`smtplib`和`email`库,这些库是Python标准库的一部分,无需额外安装。
2. 创建一个SMTP对象,这通常需要提供SMTP服务器的地址和端口,以及登录邮箱的用户名和密码。
3. 使用`sendmail`方法发送邮件。邮件的内容可以是简单的字符串,也可以是构造的邮件对象。
4. 发送完邮件后,关闭SMTP连接。
下面是一个简单的示例代码:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮箱发送者和接收者
sender = 'your_email@example.com'
receivers = ['receiver_email@example.com']
# 邮件内容设置
message = MIMEText('This is a test email from Python!', 'plain', 'utf-8')
message['From'] = Header('Python Test', 'utf-8')
message['To'] = Header('Test Receiver', 'utf-8')
subject = 'Test Email from Python 3'
message['Subject'] = Header(subject, 'utf-8')
# SMTP服务器设置
smtp_server = 'smtp.example.com'
smtp_port = 587
smtp_user = 'your_email@example.com'
smtp_password = 'your_password'
try:
# 创建SMTP对象
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls() # 启用安全传输模式
server.login(smtp_user, smtp_password)
# 发送邮件
server.sendmail(sender, receivers, message.as_string())
print("Email sent successfully")
except smtplib.SMTPException as e:
print("Error: unable to send email", e)
finally:
# 关闭连接
server.quit()
```
在实际应用中,你需要将上述代码中的`your_email@example.com`, `receiver_email@example.com`, `your_password`, `smtp.example.com`等信息替换成实际的邮箱地址、密码以及SMTP服务器的相关信息。
阅读全文