印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
LinuxMovableType コメント通知のメールが来ない

MovableType では、コメントが投稿されたときにメールで通知してくれる機能がある。

■ ■ ■
設定は次の2点。
  • 「メインメニュー > プロフィールの編集」でメールアドレスを指定する
  • 「メインメニュー > 編集メニュー > 設定」の「ウェブログの設定」の中で「コメントが登録されたら通知する」にチェックする

しかし、メールが届かない。mt.cfg を読んでみると、メール送信するのにMovableTypeは

  • デフォルトでは sendmail を使う
  • sendmail でない場合は Mail::Sendmail モジュールを使う

とある。VineLinux のメール配送エージェントは Postfix なので、後者にあたる。セットアップするには次の手続きが必要となる。(→追記あり)

  1. Perl モジュール Mail::Sendmail をインストールする
  2. mt.cfg の MailTransfer に smtp を指定して、SMTPServer に SMTP サーバ名を設定する

Perl モジュールをインストールする。ネットワークインストールが便利。はじめて CPAN を利用する場合は設定が必要 (nlog(n): Jcode.pm 0.83 参照)

# perl -MCPAN -e "install 'Mail::Sendmail'"
Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
Going to read /root/.cpan/sources/modules/02packages.details.txt.gz
  Database was generated on Sun, 15 Feb 2004 11:54:30 GMT
  HTTP::Date not available

  There's a new CPAN.pm version (v1.76) available!
  [Current version is v1.59_54]
  You might want to try
    install Bundle::CPAN
    reload cpan
  without quitting the current session. It should be a seamless upgrade
  while we are running...
(中略)
Current recipient(s): 'Sendmail Test <sendmail@alma.ch>'

ok 1
Server set to: mail.alma.ch
Sending...
content of $Mail::Sendmail::log:
Mail::Sendmail v. 0.79 - Sun Feb 15 11:58:15 2004
Date: Sun, 15 Feb 2004 11:58:15 +0900
Server: mail.alma.ch Port: 25
From: sendmail@alma.ch
Subject: Mail::Sendmail version 0.79 test
To: sendmail@alma.ch

Result: 250 Ok: queued as B4C127FD6
ok 2
(後略)

現在のバージョンは 0.79 であることが分かる。メール配信のテストも行っているようだ。CPAN.pm がバージョンアップされている。HTTP::Date もインストールした方がいいかも知れない。

これで完了かと思い、メールを出してみたが届かない。ログファイル /var/log/maillog を見てみると、エラーが出ていた。

Feb 16 02:55:21 tp600 postfix/smtp[20190]: warning: mailer loop: best MX host for nlogn.ath.cx is local

自分自身の中でループしてしまっている。tp600 はローカルのホスト名である。Mail::Sendmail が nlogn.ath.cx 宛にメールを送ると、それは自分自身に送られる。しかし、配送エージェント Postfix が、自分は nlogn.ath.cx だと思っていないので、さらに nlogn.ath.cx に転送しようとしてしまうためだ。Postfix に自分の名前が nlogn.ath.cx でもあるということを教えてあげなければならない。

Postfix のコンフィグレーションファイル /etc/postfix/main.cf を編集し、mydestination にホスト名を追加する。

mydestination = $myhostname, localhost.$mydomain, $mydomain,
        mail.$mydomain, www.$mydomain, ftp.$mydomain,
        tp600.$mydomain, nlogn.ath.cx

Postfix を再起動する。

# /etc/init.d/postfix restart

これで無事通知メールが届くようになった。

2004年4月16日追記:
salvageship さんからのトラックバックで、Postfix に sendmail 互換コマンドが用意されていることが分かった。これを使えば、上で行った Perl モジュール Mail::Sendmail のインストールは不要で、Postfix の設定だけを行えばよい。この場合、mt.cfg には

SendMailPath /usr/sbin/sendmail

と指定する。MailTransfer と SMTPServer はどちらもコメントアウトしておいてよい。

# MailTransfer smtp
# SMTPServer smtp.your-site.com

2005年4月20日追記:
postfix を使うのと Mail::Sendmail を使うのでは,メールの形式が微妙に違うようです (nlog(n): MT 2.661 のコメント通知メールが文字化けする)。

Posted by n at 2004-02-17 13:24 | Edit | Comments (2) | Trackback(5)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
mt.cfgでsendmail意外をsmtpにする場合の設定
Memo:Postfix使ったMTの設定。 nlog(n): コメント通知のメールが来ない mt.cfg を読んでみると、メール送信するのにMovableTypeは ・デフォルトでは sendmail を使う ・sendmail でない場合は Mail::Sendmail モジュールを使う とある。VineLinux のメール配送エージェン... Trackbacked from: salvageship at April 13, 2004 15:12
メールサーバがPostfixだと、コメントが通知されてない。(⊃Д∩)
ま、タイトルの通りなんだけど(汁)。コメント入れても入ってなかったことが判明。Σ(゚∀゚;) nlog(n)さんのサイトが詳しかったので参考にさせて頂きました。m(_ _)m 感謝感謝♪ とりあえず、下準備として以下をやらなあかん。 mt.cgiの管理画面に入って、 1.メインメニ... Trackbacked from: true::colors at August 03, 2004 16:57
TypeKeyでコメントスパム遮断
コメントスパムがあまりにも多いのでTyp... Trackbacked from: Clouder::Blogger at October 11, 2004 14:23
Windowsサーバーからのコメント通知メールの設定
Unix系のサーバーではSendmailというサービスが標準で組み込まれているの... Trackbacked from: hitsuji weblog at October 13, 2004 22:15
スパムコメント
nlog(n): コメント通知のメールが来ない Trackbacked from: PukiWiki/TrackBack 0.1 at November 02, 2004 21:16
Comments

テスト投稿

Posted by: n at August 05, 2014 11:49

テスト投稿

Posted by: n at February 23, 2015 15:34
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?