CentOS OS インフラ

CentOS/RHELにPostfixをインストール~CUIを使用した簡易メール送信

2018年9月6日

こんにちは!シミダイ(@shimidai2100)です。

メールサーバーの「Postfix」のインストールからCUIコマンドを利用したメール送信(初期構築確認)の方法を紹介します。

最近はクラウドベンダーの「AmazonのAWS」や「MicrosoftのAzuru」でも簡易にメールサーバーをクラウドを提供しています。

だからこそ、この機会にしっかりとPostfixをインストール~簡易メール送信方法をマスターしましょう。


Postfixのインストールと初期設定

Postfixのインストール方法は「yum」コマンドを使用することで簡単にインストールすることができます。

yum install postfix

以下が実行例です。

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」になっているため変更しておきましょう。

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の状態を確認するコマンドは以下になります。

systemctl status postfix

以下のように

● 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の起動コマンドです。

systemctl start postfix

特に表示はありません。正常に起動できたかは状態確認コマンドで確認します。

Postfixの停止

以下がPostfixの停止コマンドです。

systemctl stop postfix

特に表示はありません。正常に停止できたかは状態確認コマンドで確認します。

Postfixの自動起動有効化/無効化

以下がサーバー起動時に自動起動を有効化するコマンドです。

systemctl enable postfix

以下がサーバー起動時に自動起動を無効化するコマンドです。

systemctl disable postfix

自動起動の有効化/無効化確認は以下のコマンドで確認できます。

systemctl list-unit-files postfix.service

以下、自動起動が有効化している時の実行例です。

[root@test-server ~]# systemctl list-unit-files postfix.service
UNIT FILE       STATE
postfix.service enabled

1 unit files listed.

CUIを使用したPostfixの簡易メール送信

設定がすべて完了してPostfixを起動したら「sendmail」コマンドでメールを送ります。

$ sendmail <送信先メールアドレス>
From:<送信元メールアドレス>
To:<送信先メールアドレス>
Subject:<件名>
<ここの本文>
<ここの本文>
<ここの本文>
. # <=最後は"."とすること

以下が実行例になります。

[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」を確認することでメールを送信しているのが確認できます。

 

関連記事

-CentOS, OS, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.