проблема с настройкой ActionMailer в setup_email.rb - PullRequest
2 голосов
/ 16 марта 2011

Я потратил несколько дней, пытаясь получить эту работу => Я хотел бы отправить электронное письмо из своего приложения localhost , без , используя gmail или другой почтовый сервер, поэтому я попробовал это:

в / 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/ruby-1.8.7-p330@myapp/gems/mail-2.2.15/lib/mail/network/delivery_methods/smtp.rb:127:in `deliver!'
/home/user1/.rvm/gems/ruby-1.8.7-p330@myapp/gems/mail-2.2.15/lib/mail/message.rb:1967:in `do_delivery'
/home/user1/.rvm/gems/ruby-1.8.7-p330@myapp/gems/mail-2.2.15/lib/mail/message.rb:228:in `deliver'
/home/user1/.rvm/gems/ruby-1.8.7-p330@global/gems/actionmailer-3.0.3/lib/action_mailer/base.rb:401:in `deliver_mail'
/home/user1/.rvm/gems/ruby-1.8.7-p330@global/gems/activesupport-3.0.3/lib/active_support/messages.rb:52:in `instrument'
/home/user1/.rvm/gems/ruby-1.8.7-p330@global/gems/activesupport-3.0.3/lib/active_support/messages/instrumenter.rb:21:in `instrument'

...

Как настроить localhost для ActionMailer?

Я искал в Интернете, кажется, я ДОЛЖЕН предоставить имя пользователя и пароль в конфигурации и установить аутентификацию для параметра какое-то значение, можно ли настроить ActionMailer без аутентификации , имени пользователя и пароля ? (потому что мое приложение не имеет учетной записи электронной почты для входа в систему) Как настроить функцию отправки почты на локальный хост?

Ответы [ 3 ]

4 голосов
/ 06 июня 2011

Добавьте это в свою среду. Rb:

ActionMailer::Base.delivery_method = :sendmail
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = "utf-8"
1 голос
/ 16 марта 2011

на локальном хосте вы должны использовать sendmail, хорошее начало будет этот сайт

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

Я знаю, что источник старый, но, кажется, все еще действителен

0 голосов
/ 16 марта 2011

На localhost вы также можете использовать mailtrap. сообщение в блоге на mailtrap . Больше документации здесь . Что касается настроек, я положил это в моем инициализаторе

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

Этот метод работал для меня.

...