Нет ошибок в development.log, но почта не будет отправлена - PullRequest
0 голосов
/ 07 декабря 2011

Я использую ActionMailer для отправки электронной почты через Rails, но ничего не могу получить.

Мой development.log сказал:

Sent mail to mymail@gmail.com (2107ms)
Date: Wed, 07 Dec 2011 17:14:30 +0800
From: no-reply
To: mymail@gmail.com
Message-ID: <4edf2e765a139_147105390c874e3@raincole-laptop.mail>
Subject: Reset password instructions
Mime-Version: 1.0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

<p>
  Hello mymail@gmail.com!
</p>
<p>Someone has requested a link to change your password, and you can do this through the link below.</p>
<p><a href="http://starfish.dev/users/password/edit?reset_password_token=vHtzByZmDPcS4FhcwUPP">Change my password</a></p>
<p>If you didn't request this, please ignore this email.</p>
<p>Your password won't change until you access the link above and create a new one.</p>

Но в этом нет ничего новогомой почтовый ящик или ящик для спама.

Я установил:

ruby-1.9.2-p290 :008 > Rails.application.config.action_mailer[:raise_delivery_errors]
 => true 

Итак, как я могу увидеть реальные журналы ошибок для отладки?

Редактировать:

Я пишу email.yml:

development:
  reply: "no-reply"
  host: "starfish.dev"
  smtp: 
    address: "smtp.gmail.com"
    port: 587
    domain: "starfish.dev"
    authentication: "plain"
    user_name: "mymail@gmail.com"
    password: "mypassword"
    enable_starttls_auto: true

Затем в application.rb:

$EMAIL_CONFIG = ActiveSupport::HashWithIndifferentAccess.new YAML.load(File.open("#{Rails.root}/config/email.yml"))[Rails.env]
config.action_mailer.smtp_settings = $EMAIL_CONFIG[:smtp].symbolize_keys if !$EMAIL_CONFIG[:smtp].nil?

в development.rb:

config.action_mailer.delivery_method = :smtp
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true

Но он все равно просто отправляет в файл журнала, а не на реальный адрес.

Ответы [ 2 ]

0 голосов
/ 17 апреля 2013

вы пробовали telnet smtp.yoursite.com 587?
, если нет ответа, проверьте брандмауэр.

0 голосов
/ 07 декабря 2011

Среды разработки и тестирования не используют настоящие почтовые программы (если вы специально не настроили их). По умолчанию он выполняет именно то, что вы заметили: он выполняет все действия по отправке электронного письма ... но затем фактически не отправляет его, а просто регистрирует электронное письмо, которое было бы отправлено.

РЕДАКТИРОВАТЬ: обратите внимание, что это ответ на оригинальный вопрос, который не содержал никаких настроек SMTP.

...