Направляющие проблемы ActionMailer на Mac

Я работал над обучением использовать направляющие прошлые дни пары, и я столкнулся с чем-то, что я не смог решить с Google.

Таким образом, я просто создаю основную форму контакта, которая посылает электронное письмо. Все, кажется, работает хорошо в тестировании, которое говорит мне, что форма работает, и ActionMailer был реализован правильно, однако, я испытываю затруднения при конфигурировании ActionMailer. Я выполняю OSX 10.6.2. Я имею постфиксное выполнение и проверил, что оно выполняет использование telnet localhost 25. Когда я пытаюсь использовать форму, я добираюсь, "Соединение отказалось" от ошибки.

Это - моя текущая конфигурация:

config.action_mailer.smtp_settings = {
  :address  => 'localhost',
  :port     => 25
}

Я думал, что, возможно, должен был бы установить :domain но я отчасти смущен на том, на что это должно быть установлено в этой ситуации.

8
задан seth 21 December 2009 в 17:54
поделиться

3 ответа

Моя жизнь была примерно в 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)

.
6
ответ дан 5 December 2019 в 12:59
поделиться

Будет ли работать, если вы замените «127.0.0.1» на «localhost», чтобы увидеть, является ли это IPv4 или IPv6 или проблема с вашим преобразователем?

0
ответ дан 5 December 2019 в 12:59
поделиться

Вам необходимо запустить демон postfix. вы можете узнать, открыт ли ваш порт, набрав терминал

telnet localhost 25

, который попытается подключиться к 25 порту. Он не будет подключаться, если postfix не запущен, если он работает, нажмите ctl-], чтобы остановить соединение, и «quit», чтобы выйти из telnet.

Если он не подключается, вам нужно запустить демон postfix:

sudo launchctl start org.postfix.master

, а затем попытаться подключиться с помощью telnet. он должен подключиться. Теперь вы готовы отправлять электронные письма из класса ActionMailer.

sudo launchctl stop org.postfix.master

останавливает демон постфикса

6
ответ дан 5 December 2019 в 12:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: