こんばんは!先日メールが送れないという事象があり対応しました。結論から申し上げるとLinuxサーバーのメッセージサイズがデフォルト値のままとなっておりました。メッセージサイズの設定変更で復旧しました。
普段Linux普段触らないので備忘録としてまとめました。Linuxのコマンドを思い出しながら設定変更をしました。
目次
メールが送れない メールサーバー確認
Postfixとは?
postfixとは、メール転送エージェント(MTA)と呼ばれる種類のプログラムのひとつです。メールを送信(配送)するときに利用します。
postfixは、UNIX系OS向けに開発/公開されているオープンソースの電子メールサーバソフトウェアです。メール送信(配送)を担当するサーバーを、一般的にSMTPサーバーと呼びます。
MTAはSMTPサーバー内にいるメール転送(配送)プログラムです。 メール転送エージェント(MTA) は主に下記の種類があります。
- Postfix
- sendmail
- qmail
postfix バージョン確認
RedHat6 , CentOS6以前の確認方法です。
Postconfコマンドはpostfixメールシステムに関するその他の情報を表示します。バージョンを確認するには、postconfコマンドを使います。grepコマンドをパイプで組み合わせて実行します。
$ postconf | grep mail_version
mail_version = 2.10.1
milter_macro_v = $mail_name
上記例では、「mail_version = 2.10.1」と表示され、Postfixのバージョンが2.10.1ということが分かります。
postfix デフォルトサイズ値の確認
Postfixの容量制限 (main.cfの設定)
Postfixの設定はmain.cfファイルで設定ができます。メールサーバの運用でトラブルとなるのがメールの上限値の場合が多いです。
main.cf の設定は、デフォルト値が決まっているようです。postconf | grep size_limitコマンドを打ち確認しましょう。
# postconf | grep size_limit
body_checks_size_limit = 51200
bounce_size_limit = 50000
header_size_limit = 102400
mailbox_size_limit = 51200000
message_size_limit = 10240000
メールボックスのサイズ は、mailbox_size_limit で確認ができます。デフォルト値でメールボックスの最大容量50MB (51200000)となります。
メールメッセージサイズの容量は、message_size_limit で確認ができます。デフォルト値で10MB(10240000) で設定されていました。メール送信エラーを無くすためには、上限を変更します。
メッセージサイズ変更方法
変更は、 /etc/postfix/main.cf を開きます。設定値を手動で入れて、postfix の再起動をすれば反映されます。
(1)/etc/postfix/main.cf に以下追記(または変更)する
message_size_limit = 40240000
(2)サービス再起動をする
main.cfの設定はPostfixを再起動したり、リロードするまで反映されません。
$postfix reload
# service postfix reload
postfix を再読み込み中: [ OK ]
(3)変更の反映を確認する
# postconf | grep size_limit
body_checks_size_limit = 51200
bounce_size_limit = 50000
header_size_limit = 102400
mailbox_size_limit = 51200000
message_size_limit = 40240000
以上で完了です。
メールサーバー メッセージサイズ設定変更まとめ
- メッセージサイズの確認 (message_size_limitの値を確認)
- メールサイズの最大値の設定変更
- メール送受信テストを行なう
設定変更後、反映されているかメール送受信テストをして確認しましょう。
メールサイズ変更の際は、慎重に行ないましょう!それではー!