Help us understand the problem. What is going on with this article?

AmazonSESを使ったメールの受信に苦労した話

More than 1 year has passed since last update.

たぶん自分にしか需要ない話だけど、備忘録として。。

メール受信の流れ

  1. SESでメールを受信
  2. 受信したメールをS3に保存
  3. S3に保存したタイミングでLambdaが発動し指定のメールアドレスに転送

参考にしたのは、ここ
https://tech.taiko19xx.net/entry/2018/05/01/195119
この通りにやれば 、正しく動作します。この通りにやればね。
いくつか設定が抜けていたので、こんな記事を書くことになっています。

ハマった箇所その1: Lambdaのトリガーを設定していない

そりゃ動くわけないだろって話ですね、

SESの「Email Receiving」の「Rule sets>default-rule-set>hogehoge-rule」に
メールの保存先のS3、S3に保存されたタイミングで転送するLambda関数を追加しましょう。

ハマった箇所その2: リージョンが異なる

SESは2019/7現在、東京リージョンにはないので、オレゴンリージョンで作成。
Lambdaは東京、S3はSESを設定したときに同時に作成したのでオレゴン。
その1のLambdaの設定欄から関数を選べないので、なんでかわからんかったけど、リージョンが異なるからでした。
SESと同じリージョンで作成しましょう。

ハマった箇所その3: Lambda関数でエラーが発生

ソースコードは正しいのに、以下のようなエラーが。

Unable to import module '...': No module named ...

参考にした記事はここ。
http://cloudmemo.hatenablog.com/entry/2016/12/17/094705
Lambdaにアップロードする際に、ディレクトリの圧縮ではなく、ディレクトリの中身を圧縮しなければならないということ。

以上、情弱ですみませんでした。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away