Mac Leopard環境でActionMailerでメール送信できない時に見直すこと

結論

可能性として

  • Postfixが起動していない
  • プロバイダのOP25B対策

がある

プロセス

今日何時間も格闘したのでメモ。

MacでRails開発している際、普通にはActionMailerでメールを送信できない。

config.action_mailer.raise_delivery_errors = true

の場合

Errno::ECONNREFUSED: Connection refused - connect(2)

メール送信時にこんなエラーが出るはず。

で、そもそもNet::SMTPが使えていないっぽいのです。

% irb
>> require 'net/smtp'
>> smtp = Net::SMTP.start( 'localhost', 25 )
Errno::ECONNREFUSED: Connection refused - connect(2)

ふむふむ。25ポートが空いてないっぽい。 そりゃそーだ。メールサーバ起動してないもん。。

sudo postfix start

これで起動する。 Linuxの生活になれて、Postfixが起動していないというオチを考えてなかったため、ここまでに3時間くらいかかってます。

chkconfig的なものってないですかねぇ?

それでも送信できない場合は、そもそもmailが使えてない可能性が。

% echo 'Hi' | mail -s test mitsuru.haga@gmail.com
% tail /var/log/mail.log

これで送信が成功しているかチェックしましょう。 プロバイダのOP25B対策で送信できていない可能性があるので、各プロバイダでリレーホストを調べて /etc/postfix/main.cf に追加します。

例えば、うちはKDDIなので

relayhost = relay-mta.auone-net.jp

こんな感じで追加しておきます。

以上

関連記事

  1. about
  2. 来週のコリンムック
  3. [Flex]ログを取る
  4. [ruby][flex] Socketサーバを書いてみた
  5. デブサミ2007
Posted in ruby, ruby on rails at 11月 11th, 2008. Trackback URI: trackback
Tags: , ,

No Responses to “Mac Leopard環境でActionMailerでメール送信できない時に見直すこと”

Leave a Reply