そこで、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
しかし、このようなものをコードにどのように実装する必要があるかはまだわかりません。テスト中に SMTP サーバーを実行し、実際の呼び出しのために GMAIL サーバーに接続するように API を変更するにはどうすればよいですか? また、サーバーで SMTP サーバーを実行する init スクリプトはありますか (これは AWS EC2 にデプロイされます)。