Route53でレコードを登録し、メールの送受信を行なってみた（AWS, Route53, CentOS7, postfix）

#やること
- postfixで送受信メールサーバーを構築する
- Route53でレコードの登録をする
- 送受信サーバーから、自分のgmailアカウントにメールを送信する（送信テスト）
- 自分のgmailアカウントから、送受信サーバーにメールを送信する（受信テスト）  
※メーラー設定まではやりません



#前提
- AWS EC2
- CentOS7.3
- postfix
- 受信ドメインはRoute53で取得済み（smtp.perfectakahashi.com）
- Aレコードは登録済み
- 受信ユーザー: test
- 受信アドレス:　test@smtp.perfectakahashi.com



#サーバー内設定
1.インストール

```
# yum install postfix mailx
```


2.起動、自動起動設定

```
# systemctl start postfix
# systemctl enable postfix
```


3.main.cf編集（※変更箇所のみ記載）
>送受信できるように設定していきます。

```
# vi /etc/postfix/main.cf
75行目　myhostname = smtp.perfectakahashi.com　　　←★コメントアウト解除、ホスト名を記載
83行目　mydomain = perfectakahashi.com　　　←★コメントアウト解除、受信ドメインを記載
98行目　myorigin = $myhostname　　　←★コメントアウト解除、@以降指定するものを記載（今回は７５行目で指定したホスト名である、smtp.perfectakahashiを受信用アドレスで使う。）
113行目　inet_interfaces = all　　　←★コメントアウト解除（受信するインターフェイスアドレスの指定。今回は、全てのメールを受け取る設定。）
418行目　home_mailbox = Mailbox　　　←★コメントアウト解除、受信するメールボックスを有効にする設定
```


4.設定の反映

```
# systemctl restart postfix
```


5.受信ユーザーの作成

```
# useradd test
```



#DNSレコード登録（Route53）
1.AWSコンソールにログイン


2−1.レコードの登録
>[サービス]→[Route53]→[Hosted Zone]→[取得済みのドメインを押下]
<img width="1278" alt="スクリーンショット 2017-03-26 12.22.31.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/6c438eba-9eaf-c170-451b-2ea29d8a7358.png">


2−2.レコードの登録
>[Create Record Set]→[Name: smtp]→[Type: MX - Mail exchange]→[Value: 10 smtp.perfectakahashi.com. ]→[Create]
<img width="1280" alt="スクリーンショット 2017-03-26 12.37.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/a50706b4-b3aa-9429-2455-788945c38d8e.png">
>登録後は下記のように、表示されます。
<img width="1280" alt="スクリーンショット 2017-03-26 12.39.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/b848d3f6-4a68-8099-fcf3-c297b9dcd133.png">

Route53の登録は以上です！
※先述していますが、Aレコードはすでに登録済みです。


#送受信テスト
##まずは送信テスト（サーバーからgmailへ送信）

1.mailコマンドで送信します！

```
# mail 任意のもの@gmail.com
Subject: test
test
.
EOT
```


2.送信先のgmailの受信BOXを確認しましょう。
>ちゃんと来ていました！
<img width="1280" alt="スクリーンショット 2017-03-26 13.16.10.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/4a43602e-ee1a-f2dd-71af-99682aa15a1a.png">

###送信元の変更
>ですが、送信元が```root@smtp.perfectakahashi.com```になっていますね。。。
>送信元を意図的に変えたい！
>そんな時は、下記の設定を行ってください！

```
●canonicalの設定
# vi /etc/postfix/main.cf
canonical_maps = hash:/etc/postfix/canonical ←★最終行に追記

●rootから送信しても、testから送信したように見せる設定！
# vi /etc/postfix/canonical
root@smtp.perfectakahashi.com test@smtp.perfectakahashi.com　←★最終行に追記

●設定の反映
# postmap /etc/postfix/canonical　←これを行うと、canonical.dbというファイルができます。
# systemctl restart postfix

●送信してみましょう
# mail 任意のもの@gmail.com
Subject: from変えたよ！
from変わってる？？
.
EOT
```

>gmailで確認すると。。。。
>rootから送信したのに、送信元はtestになっています！
<img width="1280" alt="スクリーンショット 2017-03-26 15.09.02.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/3b76b141-74d0-fd8a-ffb8-874f715e6927.png">


##次に受信テスト（gmailからサーバーに送信）
1.gmailから送信します。
>
<img width="982" alt="スクリーンショット 2017-03-26 14.46.43.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/89004953-a9cf-e739-5d42-4b392f7b377d.png">


2.サーバーでメールが届くか確認しましょう
>手順1.で送信する前に、下記コマンドを行うとリアルタイムで受信を確認できます。

```
# tail -f /home/test/Mailbox
From 任意のもの@gmail.com  Sun Mar 26 14:50:20 2017
Return-Path: <任意のもの@gmail.com>
X-Original-To: test@smtp.perfectakahashi.com
Delivered-To: test@smtp.perfectakahashi.com
Received: from mail-yw0-f170.google.com (mail-yw0-f170.google.com [209.85.161.170])
	by smtp.perfectakahashi.com (Postfix) with ESMTP id CF063207301D
	for <test@smtp.perfectakahashi.com>; Sun, 26 Mar 2017 14:50:19 +0900 (JST)
Received: by mail-yw0-f170.google.com with SMTP id d191so14214027ywe.2
        for <test@smtp.perfectakahashi.com>; Sat, 25 Mar 2017 22:50:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:from:date:message-id:subject:to;
        bh=Bwo6XJ5WJV6JgU0vhLfwYwTtiD+22q6jQ+ESksXFLyI=;
        b=ahSZjJ+H8xDHiBb3i/oZbScEVo1hOMGFYWDGG2Lw1s6qsGt6FN9CoTHW8w3NRYxvy0
         BaUPP1lSwcYDItV/KHcvkeBZZ0+/YMPKPwrpoxDj5W5sSDDmo4AXUiU0pl4EKVkW7K4P
         TVMB6MvVvIn8to/EPH67Xqo0WD9jumLXVMXz9TcdB4YY5xdy0n3KWb+x1HtGI8VxoWlv
         hS51h1RwhAVB35B7a1Ou3LXczlK+0+3pcDuM39Z5Okw3p2Zpi4xKLMxlCp44/fwvXLOZ
         3MK5F7vDQtOqh8Y2Pinfs/fLFgBhs3bJkFFc111AwqDYoGPdAwTWu+WclaPd47f2Pciy
         /XAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=Bwo6XJ5WJV6JgU0vhLfwYwTtiD+22q6jQ+ESksXFLyI=;
        b=d4zyFTB2rIT8TcN+J1WxL7gT0nFIX8GaObKSdg5XsxbXs0E1Agx8uwr3N4rCEpw/7D
         iw8QXo3KB42M8jXW28lg01g8uA9bRLifBcweAsT8uDZoFk5U8pEU8Hv4wEZZlG7Dv+pn
         6PI9N7RSNSHiH+jj10FNemjwQL76jqDQqHr1gg4IFS0CRgM8ft6Bp+P8Yim9/hP2eVFv
         ByW6c+/VVek8MIej/V+yt+5d6vuCmLj3EBPFJH4ETR7BGWhnX3i1UIDr5dnA9wqU2qJq
         gVlNibmsFtqNxUPGjgONY2PBwHF02/333V/IfgytbwQEWq76gwdJBBjWPtv511c4+bOb
         JlKg==
X-Gm-Message-State: AFeK/H0C9nM50rBYy9d8Ds3FzH9iA7q6zKfA3kzdiGXcV5onX02ekwWAc4ezCehW37wETRl1NpouqUKKZEvLeg==
X-Received: by 10.37.55.88 with SMTP id e85mr10670359yba.164.1490507418554;
 Sat, 25 Mar 2017 22:50:18 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.37.124.4 with HTTP; Sat, 25 Mar 2017 22:50:18 -0700 (PDT)
From: =?UTF-8?B?6auZ5qmL5LiA5qi5?= <任意のもの@gmail.com>
Date: Sun, 26 Mar 2017 14:50:18 +0900
Message-ID: <CADysH3EURAnUqS_fnJV40CkA_7xVbEEiy3CBgB-F9U_FWTEOug@mail.gmail.com>
Subject: test
To: root <test@smtp.perfectakahashi.com>
Content-Type: multipart/alternative; boundary=001a11473c3637da94054b9bcd6e

--001a11473c3637da94054b9bcd6e
Content-Type: text/plain; charset=UTF-8

test

--001a11473c3637da94054b9bcd6e
Content-Type: text/html; charset=UTF-8

<div dir="ltr">test</div>

--001a11473c3637da94054b9bcd6e--
```

構築完了です！


###root宛てのメールを他のユーザー(今回はtest)で受け取る設定
1.下記ファイルを編集します。

```
# vi /etc/aliases　※変更箇所のみ記載
postfix:        test　　　←★受信したいユーザーを記載する。元々rootでした。
```

2.設定の編集

```
# newaliases
```

3.gmailからroot宛てに送信してみましょう
>
<img width="543" alt="スクリーンショット 2017-03-26 15.20.29.png" src="https://qiita-image-store.s3.amazonaws.com/0/168635/0202323b-9fa3-f897-1a7a-bc0cb80e7082.png">


4.testの受信BOXに来るか確認
>root宛てなのに、testの受信BOXに来ました！

```
# tail -f /home/test/Mailbox　※該当箇所を抜粋してます。
From 送信元@gmail.com  Sun Mar 26 15:20:40 2017
Return-Path: <送信元@gmail.com>
X-Original-To: root@smtp.perfectakahashi.com
Delivered-To: test@smtp.perfectakahashi.com
Received: from mail-yw0-f176.google.com (mail-yw0-f176.google.com [209.85.161.176])
```


#終わりに
dkimやspfでの迷惑メール対策、dovecotを使用したPOPサーバー構築は別の機会にやります！