メールサーバー管理

HOMELinuxtips > メールサーバー管理

メールサーバー管理:記事リスト

メールサーバー管理のカテゴリーには以下の記事がリストされています。

Postfix設定:mynetworksについて

2023年5月25日
Postfixのmynetworks設定は、main.cfファイルで設定するパラメータで
Postfixが信頼するネットワークの範囲を指定します。

これは、Postfixが受信したメールの送信元IPアドレスが、
信頼できるネットワーク内のものかどうかを判断する際に使用されます。

mynetworksにリストされたIPアドレスから送信されたメールは、
通常の認証手段を必要とせずに、Postfixから中継されることが許可されます。

例えば、次のように設定します。

mynetworks = 127.0.0.0/8, 192.168.0.0/16, 10.0.0.0/8


この例では、 Postfixはlocalhost(127.0.0.0/8)、
192.168.x.xネットワーク(192.168.0.0/16)、
10.x.x.xネットワーク(10.0.0.0/8)からのメールを信頼します。

mynetworksは、スパム送信者による悪用を防ぐために重要なので、
通常、ローカルネットワーク内のIPアドレスやきちんと信頼できる
ネットワークの範囲を指定することが重要です。

Dovecotのバージョンを確認する

2023年2月26日

Dovecotのバージョンを確認するには、
dovecotコマンドに「--version」オプションを付けて実行します。

$ dovecot --version
2.3.16 (7e2e900c1a)

上記例では、「2.3.16 (7e2e900c1a)」と表示され、
Dovecotのバージョンが2.3.16ということが分かります。

Postfixのメールログを確認する

2017年7月25日

Postfixのログは、「/var/log/maillog」ファイルに出力されます。
1週間単位で自動ローテションされ、/var/log/maillogファイルの他に
「/var/log/maillog.1」〜「/var/log/maillog.4」までの4週間分を
歴として保持しています。

何かトラブルが発生した際、「/var/log/maillog」ファイルを
確認することで多くの原因を特定することができます。

■メールログファイル(/var/log/maillog)を確認する
# ls -l /var/log/maillog*
-rw------- 1 root root 1941316 7月 24 16:47 /var/log/maillog
-rw------- 1 root root 10497049 7月 23 04:02 /var/log/maillog.1
-rw------- 1 root root 10312833 7月 16 04:02 /var/log/maillog.2
-rw------- 1 root root 10810720 7月 9 04:02 /var/log/maillog.3
-rw------- 1 root root 9886779 7月 2 04:02 /var/log/maillog.4

■メールログファイルの内容を確認する
# tail /var/log/maillog
Jul 24 16:47:28 Mail_001_Enetmercury postfix/smtpd[30065]: warning: unknown[80.82.XX.XX]: SASL LOGIN authentication failed: authentication failure
Jul 24 16:47:29 Mail_001_Enetmercury postfix/smtpd[30065]: disconnect from unknown[80.82.XX.XX]
Jul 24 16:48:04 Mail_001_Enetmercury postfix/qmgr[1388]: 03D037E257: from=, size=20169, nrcpt=1 (queue active)
Jul 24 16:48:05 Mail_001_Enetmercury postfix/smtp[29975]: 03D037E257: to=, relay=none, delay=60457, delays=60456/0.01/0.87/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=gmail.co.jp type=MX: Host not found, try again)
Jul 24 16:49:44 Mail_001_Enetmercury postfix/qmgr[1388]: 813897E249: from=, size=15939, nrcpt=1 (queue active)
Jul 24 16:50:14 Mail_001_Enetmercury postfix/smtp[29975]: connect to aaa.com[63.240.XXX.XXX]: Connection timed out (port 25)
Jul 24 16:50:14 Mail_001_Enetmercury postfix/smtp[29975]: 813897E249: to=, relay=none, delay=60582, delays=60552/0/30/0, dsn=4.4.1, status=deferred (connect to aaa.com[63.240.178.216]: Connection timed out)
Jul 24 16:50:49 Mail_001_Enetmercury postfix/anvil[30067]: statistics: max connection rate 1/60s for (smtp:80.82.XX.XX) at Jul 24 16:47:27
Jul 24 16:50:49 Mail_001_Enetmercury postfix/anvil[30067]: statistics: max connection count 1 for (smtp:80.82.XX.XX) at Jul 24 16:47:27
Jul 24 16:50:49 Mail_001_Enetmercury postfix/anvil[30067]: statistics: max cache size 1 at Jul 24 16:47:27

MTAをSendmailからPostfixに変更する

2017年7月24日

MTAをSendmailからPostfixに変更する場合は、alternatives コマンドを実行します。
実行する際は、「--config」オプションに「mta」を指定します。

# alternatives --config mta

2 プログラムがあり 'mta' を提供します。

選択 コマンド
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2 ←Postfixの2を入力します。

# alternatives --config mta

2 プログラムがあり 'mta' を提供します。

選択 コマンド
-----------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix

MTAがPostfixに変更されます。

最後に、sendmailを停止し、Postfixを起動します。


Postfixでメールキューを削除する

2017年7月23日

Postfixでメールキューを削除するには、postsuperコマンドで行なえます。

postsuperコマンドにオプション「-d」を付け、
引数にQueue IDを指定します。

Queue IDの確認は、「Postfixでメールキューの状態を確認する」で
紹介している「postqueue -p」コマンドで行えます。

■Queue IDが「CDDE97E240」のキューを削除する
# postsuper -d CDDE97E240
postsuper: CDDE97E240: removed
postsuper: Deleted: 1 message

ソフトウェアの不具合により、メールが溜まってしまった場合は、
postsuperコマンドに、オプション「-d ALL」を付け、一括削除します。
# postsuper -d ALL
postsuper: Deleted: 6 messages

Postfixでメールキューの内容を確認する

2017年7月22日

キュー内のメールは、postcatコマンドを使用することで
内容を確認することが出来ます。

実行方法は、postcatコマンドにオプション「-q」を付け、
引数にQueue IDを指定します。

Queue IDの確認は、「Postfixでメールキューの状態を確認する」で
紹介している「postqueue -p」コマンドで行えます。

■Queue IDが「178A27E250」のキュー内容を確認する
# postcat -q 178A27E250

Postfixでメールキューの状態を確認する

2017年7月21日

Postfixでメールキューの状態を確認するには、postqueueコマンドを使用します。
postqueueコマンドにオプション「-p」を付けて実行します。

■メールキューが存在する場合
# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
106E07E25C 28536 Thu Jul 20 00:01:20 pakira2@XXXXXXXXXXXXX.net
(Host or domain name not found. Name service error for name=tarou.jp type=MX: Host not found, try again)
yamada@XXXXXXXX.jp

19DEC7E261 20997 Thu Jul 20 00:02:04 pakira2@XXXXXXXXXXXXX.net
(connect to mail.xn--v9juc834uywe0tghzh2y4d.com[157.107.91.16]: Connection timed out)
webmaster@XXXXXXXXXXXXXXX.com

E227E7E242 22135 Thu Jul 20 00:01:23 pakira2@XXXXXXXXXXXXX.net
(connect to linuxlike.com[141.8.230.20]: Connection timed out)
likelinux@XXXXXXXXXX.com

6EEF87E246 20181 Thu Jul 20 00:02:03 pakira2@XXXXXXXXXXXXX.net
(Host or domain name not found. Name service error for name=kkk.com type=MX: Host not found, try again)
kkkkkkkkk@XXX.com

-- 91 Kbytes in 4 Requests.


■メールキューが存在しない場合
# postqueue -p
Mail queue is empty


■溜まっているメールキューを強制的に送信するには
postqueueコマンドにオプション「-f」を付けて実行します。
# postqueue -f

Postfixで送信できないメールを保持する日数を設定する

2017年7月20日

Postfixで何らかの原因で送信できないメールを保持する日数を設定するには、
main.cfファイルに「maximal_queue_lifetime」を設定します。
デフォルトでは5日保持するようになっていますが、
これを設定する事で、任意の日数に設定できます。

下記例では、保持日数を3日に設定しています。
# vi /etc/postfix/main.cf

maximal_queue_lifetime = 3d

設定を保存終了後、設定ファイルの再読込が必要になります。

Postfixでメッセージの再送信時間を設定する

2017年7月19日

メッセージが何らかの原因で送信できなかった場合、
再送信する時間間隔を設定する事ができます。
設定は、Postfixの設定ファイル「main.cf」で行います。

デフォルトでは、60秒となっていますが、
transport_retry_timeを指定することで任意の間隔で
再送信することが出来ます。

下記例では、再送信時間を180秒に設定しています。
# vi /etc/postfix/main.cf

transport_retry_time = 180s

設定を保存終了後、設定ファイルの再読込が必要になります。

Postfixでメールサイズの制限を設定する

2017年7月18日

メールサイズの制限を設定するには、
Postfixの設定フィアル「main.cf」を編集します。
デフォルトでは、10240000までのサイズ制限となっていますが、
message_size_limit設定を追加することで、
任意のサイズに変更することができます。

下記例では、9.5MBに制限をしています。

# vi /etc/postfix/main.cf

message_size_limit = 9500000 ←追加します。

設定を保存終了後、設定ファイルの再読込が必要になります。

Postfixのバージョンを確認するコマンド|現場で使う4つの手順

2016年10月 4日
Postfixのバージョンを確認できるようになっておくことはとても重要です。例えば、「自社のメールサーバーに脆弱性が見つかったらしいけど、うちのPostfixのバージョンはいくつだろう?」セキュリティ対応や他システムとの連携時など、メールサーバーのバージョン確認は現場で頻繁に発生する作業です。

この記事では、Linux(Postfix)のバージョンを確認する方法を、目的別に分かりやすく解説します。環境や状況に合わせて、一番やりやすい方法を選んでみてください。

まずPostfixがインストールされているか確認する

バージョンを調べる前に、そもそも自分の環境にPostfixがインストールされているかを確認しましょう。

Red Hat系Linux(RHEL、AlmaLinux、Rocky Linuxなど)では以下のコマンドで確認できます。

$ rpm -qa | grep postfix postfix-3.5.9-19.el9.x86_64

何も表示されない場合はPostfixがインストールされていません。また、which postfix コマンドでも実行ファイルの場所から確認できます。

$ which postfix /usr/sbin/postfix

続きを読む "Postfixのバージョンを確認するコマンド|現場で使う4つの手順"

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る