やること
- 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 ←★コメントアウト解除、@以降指定するものを記載(今回は75行目で指定したホスト名である、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]→[取得済みのドメインを押下]

2−2.レコードの登録
[Create Record Set]→[Name: smtp]→[Type: MX - Mail exchange]→[Value: 10 smtp.perfectakahashi.com. ]→[Create]


Route53の登録は以上です!
※先述していますが、Aレコードはすでに登録済みです。
送受信テスト
まずは送信テスト(サーバーからgmailへ送信)
1.mailコマンドで送信します!
# mail 任意のもの@gmail.com
Subject: test
test
.
EOT
2.送信先のgmailの受信BOXを確認しましょう。
ちゃんと来ていました!

送信元の変更
ですが、送信元が
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になっています!

次に受信テスト(gmailからサーバーに送信)
1.gmailから送信します。

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宛てに送信してみましょう

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サーバー構築は別の機会にやります!