Lambda (Python) でメールを送信してみる
■ はじめに
Lambda からメールを送信したかったので、やってみました。
ほぼほぼ、こちらの記事の通りにやっただけですか…
ありがとうございました!
感謝 ♪♪♪
🙇♂️🙇♂️🙇♂️
■ コード
コードは、以下。
import os
import json
import smtplib
from email import message
smtp_host = '[メールホスト]'
smtp_port = [ポート番号]
def lambda_handler(event, context):
body = json.dumps('Hello from Lambda!')
try:
print('event :', event)
#print(context.__dict__)
smtp_account_id = os.environ.get('SmtpAccountID', '')
print('SmtpAccountID :', smtp_account_id)
if len(smtp_account_id) == 0:
raise Exception('The content is incorrect. - SmtpAccountID is None.')
smtp_account_pass = os.environ.get('SmtpAccountPass', '')
print('SmtpAccountPass :', '****')
if len(smtp_account_pass) == 0:
raise Exception('The content is incorrect. - SmtpAccountPass is None.')
from_mail = event.get('FromMail', '')
#print('FromMail : ', from_mail)
if type(from_mail) is not str:
raise Exception('The content is incorrect. - FromMail is not str.')
if len(from_mail) == 0:
raise Exception('The content is incorrect. - FromMail is None.')
to_mail = event.get('ToMail', '')
#print('ToMail :', to_mail)
if type(to_mail) is not str:
raise Exception('The content is incorrect. - ToMail is not str.')
if len(to_mail) == 0:
raise Exception('The content is incorrect. - ToMail is None.')
subject = event.get('Subject', '')
#print('Subject :', subject)
if type(subject) is not str:
raise Exception('The content is incorrect. - Subject is not str.')
if len(subject) == 0:
raise Exception('The content is incorrect. - Subject is None.')
letter_body = event.get('LetterBody', '')
#print('LetterBody :', letter_body)
if type(letter_body) is not str:
raise Exception('The content is incorrect. - LetterBody is not str.')
if len(letter_body) == 0:
raise Exception('The content is incorrect. - LetterBody is None.')
msg = message.EmailMessage()
msg.set_content(letter_body);
msg['Subject'] = subject
msg['From'] = from_mail
msg['To'] = to_mail
print(msg)
server = smtplib.SMTP(smtp_host, smtp_port, timeout=10)
server.ehlo()
server.starttls()
server.ehlo()
server.login(smtp_account_id, smtp_account_pass)
server.send_message(msg)
server.quit()
except Exception as e:
print(e)
return {
'statusCode': 400,
'error': {
'code': 400,
'message': 'Bad Request.'
}
}
else:
return {
'statusCode': 200,
'body': body
}
■ Lambda への引数
{
"FromMail": "[送信元メールアドレス]",
"ToMail": "[送信先メールアドレス]",
"Subject": "[メールタイトル]",
"LetterBody": "[メール本文]"
}
■ Lambda に設定する環境変数
- SmtpAccountID :
[SMTPアカウントID]
- SmtpAccountPass :
[SMTPアカウントパス]
■ ハマりポイント
特にありませんでした。
とりあえず、何とか設定できて良かったです ♪♪♪
{
"FromMail": "[送信元メールアドレス]",
"ToMail": "[送信先メールアドレス]",
"Subject": "[メールタイトル]",
"LetterBody": "[メール本文]"
}
- SmtpAccountID :
[SMTPアカウントID]
- SmtpAccountPass :
[SMTPアカウントパス]
■ ハマりポイント
特にありませんでした。
とりあえず、何とか設定できて良かったです ♪♪♪
特にありませんでした。
とりあえず、何とか設定できて良かったです ♪♪♪
😆😆😆
■ まとめ
参考になれば ♪♪♪
👋👋👋
Author And Source
この問題について(Lambda (Python) でメールを送信してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/kusokamayarou/items/d2224d7960438768d6c1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .