sendmailの設定

Red Hat Linuxのページトップへ

sendmailの設定ファイルがあるディレクトリに移動
# cd /etc/mail

sendmailの設定ファイルのタイムスタンプを更新
# touch /etc/mail/*

設定ファイルsendmail.mcの編集
# gedit sendmail.mc
85行目付近をコメントアウトして他のIPアドレスからもメールが受信できるようにする
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

以下を追記する
Dm[ドメイン名]
Dw[ホスト名]
Cw[完全ドメイン]
例:
ホスト名がmail.example.comのときは
Dmexample.com
Dwmail
Cwmail.example.com

これはメールを送ったときのヘッダー情報に記載される
省略するとヘッダには『localhost.localdomain』と表示されます
define(`confDOMAIN_NAME',`[公開ホスト名]')

sendmail.mcはm4コマンドでsendmail.cfに変換する必要があるが、sendmailを再起動する際に自動的に実行される
(# m4 sendmail.mc > sendmail.cf)

メール転送を許可・拒否するドメイン名やIPアドレス(ともに部分名でよい)の設定ファイルaccessを編集
RELAYで許可、REJECTで拒否になる
# gedit access

# Check the /usr/share/doc/sendmail/README.cf file for a description
# of the format of this file. (search for access_db in that file)
# The /usr/share/doc/sendmail/README.cf is part of the sendmail-doc
# package.
#
# by default we allow relaying from localhost...
localhost.localdomain       RELAY
127.0.0.1                   RELAY
localhost                   RELAY
192.168.0                   RELAY
com                         RELAY
jp                          RELAY
net                         RELAY

61.110.215.50               REJECT
china9988@21cn.com          REJECT

実際の転送制限にはデータベースファイルaccess.dbを参照するので、accessからmakemapコマンドでaccess.dbを再構築する
しかし、これもsendmailを再起動する際に自動的に実行される
(# makemap hash access.db < access)

ドメインの設定ファイルlocal-host-namesを編集して、サーバが管理しているドメインを設定する
example@kikky.netなら以下のようになる
# gedit local-host-names

# local-host-names - include all aliases for your machine here.
kikky.net

注意:Webサーバーとしてsendmail機能を使いたい場合で、Webサーバーとメールサーバーが別の場合はlocal-host-namesは設定してはいけない
Web上からフォームメールを送信したときにWebサーバー内で受信されてしまう

sendmail停止中なら起動
# service sendmail start
起動中なら再起動する
# service sendmail restart


NTTdocomo対策
ドコモのi−modeメールサーバはIPによって優先順位があるそうです
つまりIPによっては遅延してしまうらしいです
それとSPAMメール対策で特定のIPからのメールは受信拒否されます
しかも、この受信拒否は送信側に一切通知されません
完全に無視されます
(送信サーバからの「送れませんでした」メールで確認するしかない)

自分のプロバイダのSMTPサーバーを介してメールを送るように設定する
ただしプロバイダのSMTPサーバーが『Relay』を許可していることが必要です
またPOP before SMTPの設定がされていれば30分おきぐらいにメールチェックをしなければいけない
(POP beforeの認証時間はSMTPサーバーの設定によって異なるが、だいたいが30分)

mailertableにドコモ用の設定を加える
# gedit /etc/mail/mailertable
docomo.ne.jp smtp:プロバイダのSMTPサーバーのアドレス

さらにほかの遅延を考えて、再送時間を1時間から10分に変更する
# gedit /etc/init.d/sendmail
24行目付近
QUEUE=1h

QUEUE=10m

これに合わせてデーモンの設定時間を短縮する
警告メール1時間後エラーメール1日後になるようにsendmail.mcの最後に以下の部分を追加する
(デフォルトでは警告メール1日後、エラーメール4日後)
# gedit /etc/mail/sendmail.mc
define(`confTO_QUEUEWARN', `1h')dnl
define(`confTO_QUEUEWARN_NORMAL', `1h')dnl
define(`confTO_QUEUEWARN_URGENT', `1h')dnl
define(`confTO_QUEUEWARN_NONURGENT', `1h')dnl
define(`confTO_QUEUERETURN_NORMAL', `1d')dnl
define(`confTO_QUEUERETURN_URGENT', `1d')dnl
define(`confTO_QUEUERETURN_NONURGENT', `1d')dnl
sendmailを再起動する
# service sendmail restart

固定IPであればドコモのサーバー管理者に直接メールを送って、ドコモ側のシステムの調整をしてもらうこともできる
imode-admin@nttdocomo.co.jp
必要事項
1,法人・商用名
2,担当者名
3,連絡先及び電話番号
4,該当のメールアドレス
5,サーバのログではどういった表示になるのか
6,サーバのIPアドレス
7,エラーメールの表示内容
8,現象の詳細状況
(NTTドコモ113センターより)

IPを逆引きしたときにメールのドメイン名と一致する場合は遅延しないらしい


rootアカウントのメールを普段使うメールに転送する
/etc/mail/aliasesに追加する
# gedit /etc/mail/aliases
root: 普段使うユーザーアカウント

root: test



Docomoお客様相談室より
Q.インターネット(パソコン)からiモードに送信されたメールが届くのが大変遅い場合や届かない場合があります(iモードメール遅延)。 どうにかならないのでしょうか。
A.iモードメール送受信の遅延原因の一つとして、大量の宛先不明の迷惑メールをiモードセンターが受信した際に、膨大な処理が発生することにより、設備に支障を生じさせ通常のiモードメールの送受信が遅延することが考えられます。
その対策としてドコモでは、大量の宛先不明メールの受信ブロックを実施しておりますが、それでもなおインターネット経由で大量の迷惑メールがiモードへ送信されており、断続的にiモードセンターにアクセスしづらい状況となっております。ISP様を含め、お客様より「iモードに送信しづらい、送信できない」といったお申し出をいただいておりますが、日々10億通を越えるメール受信の中、個々の事象把握については大変困難な状況にあります。
現在事態の改善に向けて、随時に受信ブロックの強化、各種システム調整等を実施しておりますが、「誰に対しても毎回遅れてしまう」、「特定の相手とやりとりした時は必ず遅れてしまう」等という場合は、詳細をお伺いいたしますので、お電話で故障担当(携帯電話から局番なしの113)までお願いいたします。

AUの窓口
0077−7−111
AUの場合、IPを大雑把に拒否しているらしい(オペレーター談)

ぺんたん.info
あかいひ.com
IPくん.com
8枠.com - 競馬情報
galhime.com

PC Q&A||古い記事|雑学|ラーメン