用python写一个发送邮件到QQ邮箱的示例
时间: 2023-09-07 15:04:32 浏览: 325
### 回答1:
首先, 需要安装 `smtplib` 和 `email` 这两个库, 并使用你的QQ邮箱账号和授权码进行登录:
```python
import smtplib
from email.mime.text import MIMEText
sender = 'your_email@qq.com'
recipient = 'recipient@example.com'
subject = '邮件标题'
# 使用MIMEText构造文本内容
msg = MIMEText('邮件内容', 'plain', 'utf-8')
msg['Subject'] = subject
msg['From'] = sender
msg['To'] = recipient
# 登录并发送邮件
smtp = smtplib.SMTP_SSL('smtp.qq.com', 465)
smtp.login(sender, 'your_auth_code')
smtp.sendmail(sender, recipient, msg.as_string())
smtp.quit()
```
注意:
- 如果你使用的是QQ企业邮箱, 则SMTP服务器地址应该是 `smtp.exmail.qq.com`, 端口号是465或587
- 如果你使用的是其他邮箱, 则SMTP服务器地址和端口号可能不同, 需要参照邮箱的帮助文档查看
- 授权码并不是你的QQ密码, 而是在QQ邮箱设置中生成的独立密码, 用于第三方软件(如Python程序)登录QQ邮箱
- 为了保证邮件安全, 建议使用STMP_SSL协议进行加密传输
- 上面的示例只是发送文本邮件的简单示例, 在实际应用中还可以发送HTML格式的邮件, 添加附件等
### 回答2:
使用Python发送邮件到QQ邮箱的方法如下:
1. 导入需要的模块:
```python
import smtplib
from email.mime.text import MIMEText
```
2. 设置发送方和接收方的邮箱地址:
```python
sender = '你的QQ邮箱地址'
receiver = '接收方邮箱地址'
```
3. 创建一个MIMEText对象,设置邮件正文内容和邮件类型:
```python
message = MIMEText('邮件正文内容', 'plain', 'utf-8')
```
4. 设置邮件主题和发件人:
```python
message['Subject'] = '邮件主题'
message['From'] = sender
```
5. 连接SMTP服务器并登录邮箱账号:
```python
smtpObj = smtplib.SMTP_SSL('smtp.qq.com', 465)
smtpObj.login(sender, '邮箱授权码')
```
注:邮箱授权码可以在QQ邮箱的设置中生成。
6. 发送邮件:
```python
smtpObj.sendmail(sender, receiver, message.as_string())
```
7. 关闭连接:
```python
smtpObj.quit()
```
完整的代码示例:
```python
import smtplib
from email.mime.text import MIMEText
sender = '你的QQ邮箱地址'
receiver = '接收方邮箱地址'
message = MIMEText('邮件正文内容', 'plain', 'utf-8')
message['Subject'] = '邮件主题'
message['From'] = sender
smtpObj = smtplib.SMTP_SSL('smtp.qq.com', 465)
smtpObj.login(sender, '邮箱授权码')
smtpObj.sendmail(sender, receiver, message.as_string())
smtpObj.quit()
```
以上代码示例可以通过填写相应的参数,并在QQ邮箱中生成授权码后,成功发送邮件到QQ邮箱。
### 回答3:
发送邮件需要使用 SMTP(Simple Mail Transfer Protocol)协议,Python中有一个内置的`smtp`库可以实现邮件的发送功能。
以下是一个示例代码,展示如何使用Python发送邮件到QQ邮箱:
```python
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
def send_email():
# 发件人邮箱地址和密码
sender_email = 'your_email@qq.com'
sender_password = 'your_password'
# 收件人邮箱地址
receiver_email = 'receiver_email@qq.com'
# 构造邮件内容
msg = MIMEText('这是一封来自Python的邮件', 'plain', 'utf-8')
msg['From'] = formataddr(('发件人', sender_email))
msg['To'] = formataddr(('收件人', receiver_email))
msg['Subject'] = 'Python发送邮件示例'
try:
# 创建SMTP连接
server = smtplib.SMTP('smtp.qq.com', 25)
server.login(sender_email, sender_password) # 登录到QQ邮箱
# 发送邮件
server.sendmail(sender_email, [receiver_email], msg.as_string())
print("邮件发送成功!")
except Exception as e:
print("邮件发送失败:", str(e))
finally:
server.quit() # 退出SMTP连接
send_email()
```
在实际使用中,你需要修改`sender_email`和`sender_password`为你自己的QQ邮箱账号和密码,以及将`receiver_email`修改为你要发送邮件的目标邮箱地址。请注意,为了能够发送邮件,需要确保你的QQ邮箱已经开启了SMTP服务,并且在代码中使用的是正确的SMTP服务器和端口号。
阅读全文