要让程序自动发邮件,你可以使用Python的`smtplib`库来连接邮件服务器并发送邮件。以下是一个基本的步骤和示例代码,帮助你实现这一功能:
配置邮件服务器信息
SMTP服务器地址(如 `smtp.example.com`)
SMTP端口(如 `587`)
发件人邮箱地址(如 `your_email@example.com`)
发件人邮箱密码(如 `your_password`)
编写程序
使用`smtplib`库连接到邮件服务器
创建邮件对象,包括收件人、邮件主题和正文内容
发送邮件
```python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
邮件服务器配置
smtp_server = 'smtp.example.com'
smtp_port = 587
sender_email = 'your_email@example.com'
sender_password = 'your_password'
创建邮件对象
msg = MIMEMultipart()
msg['Subject'] = input("请输入邮件主题:")
msg['From'] = sender_email
recipient_email = input("请输入收件人邮箱:")
msg['To'] = recipient_email
邮件正文
body = input("请输入邮件正文:")
msg.attach(MIMEText(body, 'plain'))
发送邮件
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls() 启动TLS加密
server.login(sender_email, sender_password) 登录邮件服务器
server.send_message(msg) 发送邮件
print("邮件发送成功!")
```
注意事项:
安全性:
避免在代码中硬编码敏感信息,如邮箱密码。可以使用环境变量或配置文件来存储这些信息。
授权码:
对于第三方邮箱(如Gmail),需要使用授权码而不是邮箱密码。你可以在邮箱设置中生成一个应用专用密码。
错误处理:
在实际应用中,应该添加错误处理机制,以便在发送邮件失败时能够捕获并处理异常。
示例代码(使用环境变量):
```python
import os
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
从环境变量中获取邮件服务器配置
smtp_server = os.getenv('SMTP_SERVER', 'smtp.example.com')
smtp_port = int(os.getenv('SMTP_PORT', 587))
sender_email = os.getenv('SENDER_EMAIL', 'your_email@example.com')
sender_password = os.getenv('SENDER_PASSWORD', 'your_password')
创建邮件对象
msg = MIMEMultipart()
msg['Subject'] = input("请输入邮件主题:")
msg['From'] = sender_email
recipient_email = input("请输入收件人邮箱:")
msg['To'] = recipient_email
邮件正文
body = input("请输入邮件正文:")
msg.attach(MIMEText(body, 'plain'))
发送邮件
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls() 启动TLS加密
server.login(sender_email, sender_password) 登录邮件服务器
server.send_message(msg) 发送邮件
print("邮件发送成功!")
```
通过以上步骤和示例代码,你可以实现一个基本的自动发邮件功能。根据你的具体需求,你可以进一步扩展和优化这个功能,例如添加附件、使用邮件模板等。