因此,我编写了一个简单的电子邮件服务,使用smtplib在用户首次登录时发送欢迎电子邮件。我想知道测试我的代码的最佳方式是什么。测试python smtp电子邮件服务
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上)。