AWS SESから送信するメールのSPF DKIM設定

## やること
①お名前ドットコムでドメイン取得 お名前ドットコムでサーバー借りたりする。
②お名前ドットコムのドメインを使ってAWS SESからメール送信してみる。
③SESからのメールの信頼性を上げる。
Ex.送信側から受信のSPF DKIM の動き

## ①お名前ドットコムでドメイン取得

https://www.onamae.com/?banner_id=1104_comnetwork_2&waad=1Jg86Y8V&network=google_x&placement=&keyword=&device=&gad_source=1&gad_campaignid=21625261606&gbraid=0AAAAADrg_-j04VuLE72svLJ4hlVAPu-yH&gclid=CjwKCAjw3MXBBhAzEiwA0vLXQew8_DGdz4tcKPRm6YQD5QPJMKScvc16s08cjQGJNBoEqmKlFI1vtBoCK_0QAvD_BwE

ドメイン取得
メールアドレス作成
DNSサーバー
メールサーバー
の設定をします。
ここでは紹介しません。

次はGmailの設定。Gmailの使い慣れた画面からお名前ドットコムのemailを使う設定です。
Gmailアクセス
歯車クリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/5351f63a-0abf-49a7-bdd3-3b7e92e509eb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/70ec74c2-19e0-426f-8621-435f1e53ae6e.png)

アカウントとインポート
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/5e7ee82d-f2a6-42cf-9b92-fe9d752dd6c0.png)

追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/f3a71b1c-b1dd-4abc-a0be-bd40aaa08194.png)

受信サーバ（POP3）と送信サーバ（SMTP）の設定をします。
パスワードはお名前で作成したemailのパスワード。コピペではなく、直打ちしないとログイン失敗する。
サーバ名とポートはお名前のメールサーバ参照させる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/d6358840-1d48-4571-a74b-34f73533597a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/5102fb14-fca0-4735-b314-1e50ff1db406.png)


## ②お名前ドットコムのドメインを使ってAWS SESからメール送信してみる。
SESから送るのが本番の運用なので、こちらで信頼性があればそれで良しです。

SESの設定をします。
idからemailとドメインを登録してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/03d8a040-2e6b-408d-86f7-f2cd7dfe57a8.png)

arisaweb.netの設定からDKIMを設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/5157b36c-2104-4480-8356-07a385f157db.png)

CNAMEとかTXTをお名前ドットコムのDNSレコードに追加します。

#### ホスト名は、デフォルトで取得したドメインがつくので、登録時はドメイン部分を消すこと。
お名前ドットコムのDNS設定画面で↓のように設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/15069620-2fa9-4322-a9ed-004672c2cb5c.png)


SES側はしばらくしたら検証済みとなる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/111aed53-c830-4ad7-bedb-eb7435248e81.png)

メールアドレスの認証は 「この特定のメールアドレスを使っているのは本人か？」
ドメインの認証は「このドメインのDNS設定を変更できる人（＝管理者）か？」を見ている。
メールアドレスの認証も済ませとくこと。

送信先のメールアドレスもSESで認証しとく必要ありです。

ドメイン、email 、送信先のemail、3つ登録しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/17786e40-561f-4c5a-817e-f4936353b98f.png)

## （追加）カスタムMAIL FROMドメインの設定。
これを設定しないと、受信側からみて、
FROM arisaweb.net
Return-Path amazon.com
となって、FROM = Return-Pathのドメインでないと、怪しまれる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/3f991756-c7f5-470b-86b3-fe1dcdeba039.png)

サブドメインを指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/bc175ec7-9956-4856-bd6f-0682d0349ff2.png)

できあがったDNSレコードをお名前DNSに 先程のように登録する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/bc7692f3-1344-4f6a-9aaf-1b9533a30858.png)

DNS登録後、MAILFROMドメインが成功になる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/17389b45-66ca-4715-ad36-e154f9cdcab2.png)

SESからテストメール送信。
AMAZON CLI使える場合、コマンドプロンプトから送信します。
```
aws ses send-email --from "test@arisaweb.net" --destination "ToAddresses=<あなたのメールアドレス>" --message "Subject={Data='Test from SES'},Body={Text={Data='This is a real test message'}}"  --region ap-southeast-2
```

test@arisaweb.net
<あなたのメールアドレス>
リージョン
これら3つ自分の環境に合わせて変えてください。

Enter押して、メールを送信します。

<あなたのメールアドレス>にメールが届いているか確認しましょう。

emailの信頼性チェックには次のサイトを使います。mailのヘッダーをコピペすればメールの信頼性がわかります。

https://mxtoolbox.com/EmailHeaders.aspx

gmailからemailのヘッダー確認方法
原文を表示をクリック。でヘッダー情報見れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/43148c8f-3bfb-4fe2-a0a6-0c45faf1cb78.png)

ヘッダー情報をコピペして、先程の解析サイト(/mxtoolbox.com/EmailHeaders.aspx)に貼り付けて実行。

↓結果です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/363aaa9c-4a1e-4afb-b6cd-6d208305d02b.png)


### 項目説明
◆DMARC Compliant（DMARC準拠）
DMARC（Domain-based Message Authentication, Reporting & Conformance） は、
送信ドメインが「なりすまし」されていないことを示すポリシー。

◆SPF Authenticated（SPF認証成功）
SPF（Sender Policy Framework） は、送信元IPアドレスがそのドメインからの正当な送信者かを判定します。

◆SPF Alignment（SPF整合性）
SPFが「合格」していても、送信者のアドレス（From）とReturn-Path（MAIL FROM）のドメインが一致しているかもチェックされます。

Return-Pathとは・・・Fromとの違い。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/ac5e5bf1-e278-4abd-8176-0ed8b4675e92.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/db0f3601-d94b-4a02-898a-ff0f02209ef7.png)

◆DKIM Authenticated（DKIM認証成功）
DKIM（DomainKeys Identified Mail） は、送信者ドメインが「署名」したことを保証します。
DNSに公開鍵が存在しない（TXTレコードがない）場合エラーとなる

◆DKIM Alignment（DKIM整合性）
DKIM署名のドメイン（d=）とFromドメインが一致しているかをチェック。


## ③メールの信頼性を上げる。
一番上のDMARCだけNGになっていますので、passになるようにしてみます。

### dmarc設定（受信側の挙動設）を変えてみる。
none	から	quarantine	に変更してみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/781ef186-e44b-448e-ba12-16557eff1e37.png)


DNS設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/8eeead8b-ef83-4897-a5c2-19d3720ccf73.png)

結果

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/c5707088-6559-4083-b3c8-f73a218a7075.png)

OK!
でも、実際の運用ではnoneでいい気がします。

## Ex.送信側から受信のSPF DKIM の動き

### SPF
SPFレコードは受信者側が、送信者のなりすましを判定するための技術です。
送信元メールサーバのIPとSPFレコードに記載されているIPが合致しているか確かめます。

1. メールを受け取ったとき、受信サーバーはまず：
SMTPの MAIL FROM:（Return-Path） を確認します
例： MAIL FROM:<info@arisaweb.net>

2. arisaweb.net というReturn-PathドメインのDNSを見に行きます
arisaweb.net に対して TXTレコードで始まる "v=spf1" のSPFレコードを探します
例：arisaweb.net. TXT "v=spf1 ip4:160.251.132.192/27 ~all"

3. SPFレコードを評価：実際の送信元IPが許可されているかをチェック
受信したメールの実際の送信元IPアドレスを取得します（例：160.251.132.195）
このIPが、SPFレコードで許可されているかどうかを評価します
たとえば：
ip4:160.251.132.192/27 に含まれるか？
条件に合わなければ ~all に従って soft fail

### DKIM

送信側がハッシュ化したものを受信側が、公開鍵で解読し、改ざんが無いか検出する方法。
受信側が、メールヘッダーのDKIM-Signature:に、書かれているドメインに問い合わせを行い、そのDNSサーバの中にTXTレコードの公開鍵へのパスが無いか調べる。

↓設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/9129b7b9-5248-4598-a8f3-b32fe017841d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/95feb77d-e18f-4db7-bfcf-71fdea224008.png)



## 感想
SPF DKIMを作成したドメインのDNSに設定しました。結果信頼性が上がりました。
DMARCは実際の運用を想定して、勝手にメールを破棄せず迷惑フォルダに入るnoneを選択しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3882753/bec69c9b-2ac6-427e-a2c1-a4c71ae4ddfd.png)