Я работал над обучением использовать направляющие прошлые дни пары, и я столкнулся с чем-то, что я не смог решить с Google.
Таким образом, я просто создаю основную форму контакта, которая посылает электронное письмо. Все, кажется, работает хорошо в тестировании, которое говорит мне, что форма работает, и ActionMailer был реализован правильно, однако, я испытываю затруднения при конфигурировании ActionMailer. Я выполняю OSX 10.6.2. Я имею постфиксное выполнение и проверил, что оно выполняет использование telnet localhost 25
. Когда я пытаюсь использовать форму, я добираюсь, "Соединение отказалось" от ошибки.
Это - моя текущая конфигурация:
config.action_mailer.smtp_settings = {
:address => 'localhost',
:port => 25
}
Я думал, что, возможно, должен был бы установить :domain
но я отчасти смущен на том, на что это должно быть установлено в этой ситуации.
Моя жизнь была примерно в 100 раз проще при запуске :sendmail на моем компьютере mac в качестве метода доставки на моем компьютере mac, а не :smtp, вы можете попробовать сделать этот снимок. В этом ответе я предполагаю, что вы просто хотите, чтобы почта доставлялась на вашем Mac, и на самом деле вас не волнует, как это работает.
Другая вещь, которую я делаю, если я собираюсь быть постоянно подключенным к сети в проекте, это настраиваю мою исходящую почту, созданную с помощью ActionMailer, на доставку через gmail, а не через мой локальный Mac.
ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :enable_starttls_auto => true, :address => "smtp.gmail.com", :port => 587, :domain => "example.com", :authentication => :plain, :user_name => "address@example.com", :password => "secret" }
Это для пользовательского домена под названием example.com, который настраивается на приложениях Google для доменов. Вы также можете просто создать аккаунт gmail и отправлять туда сообщения. (Изменив все экземпляры example.com на gmail.com)
.Будет ли работать, если вы замените «127.0.0.1» на «localhost», чтобы увидеть, является ли это IPv4 или IPv6 или проблема с вашим преобразователем?
Вам необходимо запустить демон postfix. вы можете узнать, открыт ли ваш порт, набрав терминал
telnet localhost 25
, который попытается подключиться к 25 порту. Он не будет подключаться, если postfix не запущен, если он работает, нажмите ctl-], чтобы остановить соединение, и «quit», чтобы выйти из telnet.
Если он не подключается, вам нужно запустить демон postfix:
sudo launchctl start org.postfix.master
, а затем попытаться подключиться с помощью telnet. он должен подключиться. Теперь вы готовы отправлять электронные письма из класса ActionMailer.
sudo launchctl stop org.postfix.master
останавливает демон постфикса