python发送邮件时可以提供收件人名称自动填充邮箱地址吗
时间: 2023-08-11 18:03:49 浏览: 142
selenium+python实现自动登陆QQ邮箱并发送邮件功能
是的,您可以在Python中使用email库来设置电子邮件的收件人名称和地址。
以下是一个示例代码,其中电子邮件的收件人名称和地址都存储在一个字典中:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 邮件配置
mail_config = {
'sender': '发件人邮箱地址',
'password': '发件人邮箱密码或授权码',
'smtp_server': 'SMTP服务器地址',
'smtp_port': 465 # SMTP端口号,QQ邮箱使用465端口
}
# 收件人信息
receivers = {
'收件人名称1': '收件人邮箱地址1',
'收件人名称2': '收件人邮箱地址2',
# 添加更多收件人信息
}
# 创建SMTP对象
smtpObj = smtplib.SMTP_SSL(mail_config['smtp_server'], mail_config['smtp_port'])
# 登录邮箱账号
smtpObj.login(mail_config['sender'], mail_config['password'])
# 发送邮件
for name, email in receivers.items():
# 构造邮件内容
msg = MIMEText('这是邮件正文', 'plain', 'utf-8')
msg['From'] = Header('发件人名称', 'utf-8') # 发件人名称
msg['To'] = Header(name, 'utf-8') # 收件人名称
msg['Subject'] = Header('邮件主题', 'utf-8')
# 发送邮件
smtpObj.sendmail(mail_config['sender'], [email], msg.as_string())
# 退出SMTP连接
smtpObj.quit()
```
在这个示例代码中,我们使用了email库的Header类来设置收件人名称和发件人名称。您只需要将收件人的名称和电子邮件地址存储在字典中,然后在循环中使用这些信息即可。
阅读全文