邮件代码编程主要涉及使用Python的`smtplib`库和`email`库来构建和发送邮件。以下是一个简单的示例,展示了如何使用这些库发送纯文本邮件:
```python
import smtplib
from email.mime.text import MIMEText
from email.header import Header
邮箱设置
smtp_server = 'smtp.qq.com' QQ邮箱的SMTP服务器地址
sender = 'your_email@qq.com' 发件人邮箱地址
password = 'your_auth_code' 发件人邮箱的授权码
receiver = 'someone@example.com' 收件人邮箱地址
创建邮件对象
msg = MIMEText('哈喽啊,这是用Python发的邮件~', 'plain', 'utf-8')
msg['From'] = Header(sender, 'utf-8') 设置发件人
msg['To'] = Header(receiver, 'utf-8') 设置收件人
msg['Subject'] = Header('Python自动发邮件测试', 'utf-8') 设置邮件主题
发送邮件
try:
server = smtplib.SMTP_SSL(smtp_server, 465) 连接邮箱服务器,端口465,使用SSL
server.login(sender, password) 登录邮箱
server.sendmail(sender, receiver, msg.as_string()) 发送邮件
server.quit() 关闭服务器连接
print("邮件发送成功!")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件", e)
```
代码解释
导入库
`smtplib`:用于发送邮件。
`email.mime.text.MIMEText`:用于创建纯文本邮件内容。
`email.header.Header`:用于设置邮件头部信息。
邮箱设置
`smtp_server`:指定SMTP服务器地址,如QQ邮箱的`smtp.qq.com`。
`sender`:发件人邮箱地址。
`password`:发件人邮箱的授权码,不是邮箱密码。
`receiver`:收件人邮箱地址。
创建邮件对象
`msg = MIMEText('哈喽啊,这是用Python发的邮件~', 'plain', 'utf-8')`:创建纯文本邮件内容。
`msg['From'] = Header(sender, 'utf-8')`:设置发件人。
`msg['To'] = Header(receiver, 'utf-8')`:设置收件人。
`msg['Subject'] = Header('Python自动发邮件测试', 'utf-8')`:设置邮件主题。
发送邮件
`server = smtplib.SMTP_SSL(smtp_server, 465)`:连接邮箱服务器,端口465,使用SSL。
`server.login(sender, password)`:登录邮箱。
`server.sendmail(sender, receiver, msg.as_string())`:发送邮件。
`server.quit()`:关闭服务器连接。
注意事项
授权码:QQ邮箱等需要开启SMTP服务并获取授权码,不要将授权码泄露。
服务器地址:不同邮箱服务器的SMTP服务器地址和端口可能不同,如Gmail的SMTP服务器地址为`smtp.gmail.com`,端口为587。
异常处理:在实际应用中,建议添加异常处理机制,以便在发送邮件过程中出现问题时能够及时处理。
通过以上步骤和代码示例,你可以轻松地使用Python发送邮件。如果需要发送更复杂的邮件,如包含图片或附件的邮件,可以参考相关文档和示例代码进行扩展。