こんにちは!シミダイ(@shimidai2100)です。
メールサーバーの「Postfix」のインストールからCUIコマンドを利用したメール送信(初期構築確認)の方法を紹介します。
最近はクラウドベンダーの「AmazonのAWS」や「MicrosoftのAzuru」でも簡易にメールサーバーをクラウドを提供しています。
だからこそ、この機会にしっかりとPostfixをインストール~簡易メール送信方法をマスターしましょう。
Contents
Postfixのインストールと初期設定
Postfixのインストール方法は「yum」コマンドを使用することで簡単にインストールすることができます。
1 |
yum install postfix |
以下が実行例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 docker-ce-edge | 2.9 kB 00:00:00 docker-ce-stable | 2.9 kB 00:00:00 docker-ce-test | 2.9 kB 00:00:00 extras | 3.4 kB 00:00:00 osquery-s3-rpm-repo | 951 B 00:00:00 updates | 3.4 kB 00:00:00 Loading mirror speeds from cached hostfile * base: ftp.tsukuba.wide.ad.jp * extras: ftp.tsukuba.wide.ad.jp * updates: ftp.tsukuba.wide.ad.jp Resolving Dependencies --> Running transaction check ---> Package postfix.x86_64 2:2.10.1-6.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================== Package Arch Version Repository Size ============================================================================================================== Installing: postfix x86_64 2:2.10.1-6.el7 base 2.4 M Transaction Summary ============================================================================================================== Install 1 Package Total download size: 2.4 M Installed size: 12 M Is this ok [y/d/N]: y Downloading packages: postfix-2.10.1-6.el7.x86_64.rpm | 2.4 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 2:postfix-2.10.1-6.el7.x86_64 1/1 Verifying : 2:postfix-2.10.1-6.el7.x86_64 1/1 Installed: postfix.x86_64 2:2.10.1-6.el7 Complete! |
次にサーバーのMTA(Mail Transfer Agent:メール転送エージェント)を「Postfix」に変更します。
多くの場合、MTAのデフォルトが「Sendmail」になっているため変更しておきましょう。
1 2 3 4 5 6 7 8 9 |
alternatives --config mta There is 1 program that provides 'mta'. Selection Command ----------------------------------------------- *+ 1 /usr/sbin/sendmail.postfix Enter to keep the current selection[+], or type selection number: 1 # ここでpostfixを選択 |
これでインストールと初期設定は完了です。
Postfix自体の設定については別記事で紹介します。
Postfixの状態確認・起動・停止・自動起動有効化/無効化
Postfixの起動・停止・自動起動有効化/無効・状態確認は「systemctl」コマンドで実施します。
Postfixの状態確認
Postfixの状態を確認するコマンドは以下になります。
1 |
systemctl status postfix |
以下のように
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
● postfix.service - Postfix Mail Transport Agent Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2018-09-05 13:55:06 JST; 7min ago Process: 21861 ExecStart=/usr/sbin/postfix start (code=exited, status=0/SUCCESS) Process: 21855 ExecStartPre=/usr/libexec/postfix/chroot-update (code=exited, status=0/SUCCESS) Process: 21850 ExecStartPre=/usr/libexec/postfix/aliasesdb (code=exited, status=0/SUCCESS) Main PID: 21932 (master) CGroup: /system.slice/postfix.service tq21932 /usr/libexec/postfix/master -w tq21933 pickup -l -t unix -u mq21934 qmgr -l -t unix -u Sep 05 13:55:05 test-server systemd[1]: Starting Postfix Mail Transport Agent... Sep 05 13:55:06 test-server postfix/master[21932]: daemon started -- version 2.10.1, configuration /etc/...fix Sep 05 13:55:06 test-server systemd[1]: Started Postfix Mail Transport Agent. Hint: Some lines were ellipsized, use -l to show in full. |
3行目のように「active (running)」となっていたら正常にPostfixのサービスが起動しています。
Postfixの起動
以下がPostfixの起動コマンドです。
1 |
systemctl start postfix |
特に表示はありません。正常に起動できたかは状態確認コマンドで確認します。
Postfixの停止
以下がPostfixの停止コマンドです。
1 |
systemctl stop postfix |
特に表示はありません。正常に停止できたかは状態確認コマンドで確認します。
Postfixの自動起動有効化/無効化
以下がサーバー起動時に自動起動を有効化するコマンドです。
1 |
systemctl enable postfix |
以下がサーバー起動時に自動起動を無効化するコマンドです。
1 |
systemctl disable postfix |
自動起動の有効化/無効化確認は以下のコマンドで確認できます。
1 |
systemctl list-unit-files postfix.service |
以下、自動起動が有効化している時の実行例です。
1 2 3 4 5 |
[root@test-server ~]# systemctl list-unit-files postfix.service UNIT FILE STATE postfix.service enabled 1 unit files listed. |
CUIを使用したPostfixの簡易メール送信
設定がすべて完了してPostfixを起動したら「sendmail」コマンドでメールを送ります。
1 2 3 4 5 6 7 8 |
$ sendmail <送信先メールアドレス> From:<送信元メールアドレス> To:<送信先メールアドレス> Subject:<件名> <ここの本文> <ここの本文> <ここの本文> . # <=最後は"."とすること |
以下が実行例になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[root@test-server ~]# sendmail shimidai2100@gmail.com From:test-server To:shimidai2100@gmail.com Subject:Test This is test. This is test. This is test. . [root@test-server ~]# tail 5 /var/log/maillog Sep 5 14:31:01 test-server postfix/pickup[21933]: 0488D209C856: uid=0 from=<root> Sep 5 14:31:01 test-server postfix/cleanup[22023]: 0488D209C856: message-id=<20180905053101.0488D209C856@test-server.localdomain> Sep 5 14:31:01 test-server postfix/qmgr[21934]: 0488D209C856: from=<root@test-server.localdomain>, size=363, nrcpt=1 (queue active) Sep 5 14:31:02 test-server postfix/smtp[22025]: 0488D209C856: to=<shimidai2100@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.204.26]:25, delay=69, delays=68/0.01/0.56/0.53, dsn=2.0.0, status=sent (250 2.0.0 OK 1536125478 d41-v6si966253pla.172 - gsmtp) Sep 5 14:31:02 test-server postfix/qmgr[21934]: 0488D209C856: removed |
「/var/log/maillog」を確認することでメールを送信しているのが確認できます。