Linuxにおけるメール配送
以下に全体イメージを載せます。
■SMTP
Simple Mail Transfer Protocol。
標準的なメール転送プロトコル。通常ポートは25番ポートが使用される。
■MTA
Mail Transfer Agent(メール転送エージェント)。
SMTPで受け取った電子メールを転送、受信する。
■MDA
Mail Delivery Agent(メール配送エージェント)。
MTAによって振り分けられた電子メールを受信者に配送する。
一般的にはMDAとセットになっていることも多いが、セットになっている場合にはメールサーバ機能のことをMTAと総称するのが通例。
■MUA
mail user agent(電子メールクライアント)。
ユーザがメールを送受信するために使用するソフトウェア。
試験的にはMUAの基本コマンドや代表的なMTA辺りが重要になるか。
mail関連の基本コマンド
MTAの前にコマンドライン上で実行可能な標準のメールコマンドについて確認しておきます。
実践的にどの程度使う機会があるのかは分からないところですが、試験的には一定の出題があってもおかしくなさそうです。
mailコマンドはコマンドライン上でメールの送受信を行うコマンドです。
mailコマンドが存在しない場合には、mailxパッケージをインストールします。
・RHEL系のインストール例
[root@localhost wantan]# yum install mailx
・mailコマンドによるメール送信
以下の例では「root」ユーザから「wantan」ユーザに対してメールを送信しています。
「-s」を付与してメールタイトルを入力し、その後ろに宛先(今回の場合はユーザ名、メールアドレスでも可)を入力、次行以降にメールの本文を記入していきます。
本文の終了として「.」のみを入力します。
[root@localhost wantan]# mail -s testmail wantan Hello mail. . EOT
・受信メールの確認
mailコマンドをオプションなしで実行することで、送受信メールを確認することができます。
以下では「wantan」ユーザで受信メールを確認しています。
[wantan@localhost mail]$ mail Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/spool/mail/wantan": 1 message 1 unread >U 1 root Wed Dec 23 23:39 19/630 "testmail" & 1 Message 1: From root@localhost.localdomain Wed Dec 23 23:39:48 2020 Return-Path: <root@localhost.localdomain> X-Original-To: wantan Delivered-To: wantan@localhost.localdomain Date: Wed, 23 Dec 2020 23:39:47 +0900 To: wantan@localhost.localdomain Subject: testmail User-Agent: Heirloom mailx 12.5 7/5/10 Content-Type: text/plain; charset=us-ascii From: root@localhost.localdomain (root) Status: RO Hello mail.
ファイル自体は私の設定では以下に格納されていました。
[wantan@localhost mail]$ cd /var/mail/ [wantan@localhost mail]$ ll 合計 8 -rw-------. 1 root mail 702 10月 11 21:42 root -rw-rw----. 1 testuser mail 0 11月 20 00:15 testuser -rw-rw----. 1 wantan mail 1256 12月 23 23:56 wantan
mailq
mailqメールキューに溜まったメールを確認することができます。
メールが正常に送信された場合には溜まらないので、以下ではメールサーバであるpostfixを停止させmailコマンドで送信しています。
・postfixの停止とメール送信
[root@localhost mail]# systemctl stop postfix [root@localhost mail]# mail -s mailqtest wantan mailq test. 2 . EOT
・mailqコマンドでメールキューを確認
[root@localhost mail]# mailq postqueue: warning: Mail system is down -- accessing queue directly -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 1AF5020C0C79 293 Wed Dec 23 15:01:47 root wantan -- 0 Kbytes in 1 Request.
メールの転送
対象のサーバに届いたメールを別の宛先へと転送を行うための転送設定について学習します。
/etc/aliases
まず一つ目が/etc/aliasesファイルです。
こちらのファイルは全体のメールに対して設定を行うことができます。
[root@localhost home]# cat /etc/aliases ***一部抜粋**** bin: root daemon: root adm: root lp: root sync: root shutdown: root halt: root
上記では、前半部分に書かれた宛先(ユーザ)のメールが受信された場合、後半に書かれた宛先(root)に転送することになります。
試してみます。
・daemonユーザにメール送信
[wantan@localhost ~]$ mail -s aliastest daemon to daemon. . EOT
・rootユーザのメールボックス確認
[root@localhost mail]# tail -20 root --E88BF10D2D2A.1608814753/localhost.localdomain-- From wantan@localhost.localdomain Thu Dec 24 22:25:24 2020 Return-Path: <wantan@localhost.localdomain> X-Original-To: daemon Delivered-To: daemon@localhost.localdomain Received: by localhost.localdomain (Postfix, from userid 1000) id 8FB1210D2D2C; Thu, 24 Dec 2020 22:25:24 +0900 (JST) Date: Thu, 24 Dec 2020 22:25:24 +0900 To: daemon@localhost.localdomain Subject: aliastest User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20201224132524.8FB1210D2D2C@localhost.localdomain> From: wantan@localhost.localdomain (wantan) to daemon.
確かにdaemon宛てのメールはrootが受信していることが分かります。
また、/etc/aliasesファイルを編集した場合、即時反映されるわけではないのでnewaliasesコマンドで設定反映を行う必要があります。
[root@localhost mail]# newaliases
~/.forward
全体の設定ができるaliasesファイルに対して、個人の設定を行うには「~/.forward」ファイルを使用します。
特徴としては即時反映されるためコマンドいらずなのと、当該ユーザに送られてきた転送先を設定するものなので、単に転送先の羅列になります。
以下は新規に作成してみた例です。
[wantan@localhost ~]$ vim /home/wantan/.forward
・ファイルの中身
# forwardfile for wantan
testuser
root
LinuxにおけるMTA
sendmail
sendmailはLinuxシステム上で古くから使用される有名なMTAの一つです。
現在のディストリビューションでは、MTAとして使用されることは少なく、後述するMTAでもコマンドが使用できるように残されているケースが多いようです。
試験的にも同様の認識で問題なさそうです。
postfix
RHEL系OSなどの標準MTA。
sendmailコマンドと互換性を保ちながら処理が高速化されている(らしい)。
細かいことはあまり試験的には重要ではなさそうなので軽くいきます。
・設定ファイル
/etc/postfix/main.cf
[root@localhost log]# ll /etc/postfix/main.cf -rw-r--r--. 1 root root 27176 4月 1 2020 /etc/postfix/main.cf
・標準メールボックス
/var/spool/mail/にユーザごとのファイルが作成され、そこに送受信メールが追記されていく感じ。
sendmailとかもデフォルトでは同じっぽい。
[root@localhost mail]# ll /var/spool/mail/ 合計 16 -rw-------. 1 root mail 5053 12月 24 23:06 root -rw-rw----. 1 testuser mail 1382 12月 24 23:06 testuser -rw-rw----. 1 wantan mail 1899 12月 24 22:00 wantan
exim
Debian系OSなどの標準MTA。
私はDebian系OSはほぼ使ったことがないので、本当に噂にしかきいたことがないレベル。
非常にきめ細かい設定をわかりやすく行える。様々なメールサーバーの色々な要求を満たすメールポリシーを柔軟に設定する事に、非常に向いている。
引用元:Exim - Wikipedia
とのこと。
ーーーーーーーーーーーーーーーーー
・前回(第九回)
www.wantanblog.com
・次回(第十一回)
www.wantanblog.com