因此,我使用 smtplib 编写了一个简单的电子邮件服务,以便在用户首次登录时发送欢迎电子邮件。我想知道测试我的代码的最佳方法是什么。
def send_email(nickname, email):
msg = MIMEMultipart('alternative')
config = read_config_file(MAIL_CONFIG_PATH)
sen = config.get('gmail_credentials', 'email')
pwd = config.get('gmail_credentials', 'password')
server = None
try:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(sen, pwd)
server.sendmail(sen, [email], msg.as_string())
return 'Sent!'
finally:
if server:
server.quit()
我发现你可以使用假的 smtp 服务器:
sudo python -m smtpd -n -c DebuggingServer localhost:25
但我仍然不确定我应该如何在我的代码中实现这样的东西。如何更改我的 API 以便它在测试期间运行 SMTP 服务器并连接到 GMAIL 服务器以进行实际调用?是否有初始化脚本可以在我们的服务器上运行 SMTP 服务器(这将部署在 AWS EC2 上)。