2011-03-16 12 views
2

私はこの仕事を取得しようとして数日を過ごした=>私は、Gmailや他のメールサーバーを使用してせずに自分のアプリケーションはlocalhostから電子メールを送信したいと思いますので、私はこれを試してみました: /config/initializers/setup_email.rb問題が

ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.smtp_settings = { 
    :address => "localhost", 
    :port => 25 
} 

しかし、私は "接続が拒否されました - (2)接続する" しまった、次のようなエラーメッセージが表示さ:

Connection refused - connect(2) 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/smtp.rb:551:in `initialize' 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/smtp.rb:551:in `open' 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/smtp.rb:551:in `do_start' 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/timeout.rb:67:in `timeout' 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/timeout.rb:101:in `timeout' 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/smtp.rb:551:in `do_start' 
/home/user1/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/smtp.rb:525:in `start' 
/home/user1/.rvm/gems/[email protected]/gems/mail-2.2.15/lib/mail/network/delivery_methods/smtp.rb:127:in `deliver!' 
/home/user1/.rvm/gems/[email protected]/gems/mail-2.2.15/lib/mail/message.rb:1967:in `do_delivery' 
/home/user1/.rvm/gems/[email protected]/gems/mail-2.2.15/lib/mail/message.rb:228:in `deliver' 
/home/user1/.rvm/gems/[email protected]/gems/actionmailer-3.0.3/lib/action_mailer/base.rb:401:in `deliver_mail' 
/home/user1/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/messages.rb:52:in `instrument' 
/home/user1/.rvm/gems/[email protected]/gems/activesupport-3.0.3/lib/active_support/messages/instrumenter.rb:21:in `instrument' 

... actionmailerのためlocalhostのを設定する方法

?私は、インターネット上で検索

が、それは私がMUSTが構成でユーザ名パスワードを提供し、いくつかの値に認証オプションを設定しているようだ、私は認証なしactionmailerのを設定することができ、ユーザ名パスワード? (私のアプリはログイン用の電子メールアカウントを持っていないので) 機能を動作させるlocalhost電子メールを送信するように設定する方法は?あなたはsendmailの、良いスタートをuusingする必要がありますローカルホスト上の

+0

あなたのコンピュータ上でメールサーバを実行していますか? – Augusto

+0

いいえ、持っていません。 – Mellon

+0

ああ、私はちょうど私が 'Thunderbird'を持っていることを知った – Mellon

答えて

1

このsite

ActionMailer::Base.delivery_method = :sendmail 
ActionMailer::Base.sendmail_settings = { 
    :location  => '/usr/sbin/sendmail', 
    :arguments  => '-i -t' 
} 

だろう、私はソースが古いですが、あなたはまた、mailtrapを使用することができ、ローカルホスト上でまだ有効

0

のようだ知っています。 blog post on mailtrap。さらにdocumentation hereがあります。私のイニシャライザに入れて

ActionMailer::Base.delivery_method = :smtp 
ActionMailer::Base.delivery_method = :test if Rails.env.test? 
ActionMailer::Base.smtp_settings = { 
:address => "localhost" 
:port => 2525, 
:domain => "localhost", 
} 

この方法は私のために働いた。

4

は、あなたのenvironment.rbににこれを追加します。

ActionMailer::Base.delivery_method = :sendmail 
ActionMailer::Base.perform_deliveries = true 
ActionMailer::Base.raise_delivery_errors = true 
ActionMailer::Base.default_charset = "utf-8" 
+0

これをマイナスしてdefault_charsetを追加すると、この問題を解決するのに役立ちました。ありがとう! –