1

actionmailer に使用している外部 smtp サーバーがあります。開発構成と本番構成の両方でまったく同じ action_mailer 構成を使用しています。開発中は完全に機能しますが、herokuで実行すると、「メールをme@gmail.comに送信してください」と表示されますが、テストアカウントはメールを受信しません(スパムフォルダをチェックしても) )。

これが私の設定の大まかな内容です:

config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
 :address => "mail.server.com",
 :port => 25,
 :domain => "server.com",
 :user_name => "no-reply@server.com",
 :password => "password",
 :authentication       => :login,
 :enable_starttls_auto => true
}

何か案は?

4

4 に答える 4

0

メールの送信にdeyaled_jobsを使用している場合は、アプリケーションにワーカーdynoを追加する必要がある場合があります。そうでない場合でも、問題が解決するかどうかを確認する価値があるかもしれません。

于 2012-09-18T02:08:44.217 に答える
0

https://devcenter.heroku.com/articles/smtpをご覧ください

削除してみてください

 :enable_starttls_auto => true

あなたのSMTP構成ブロックから

于 2012-09-17T23:37:11.423 に答える
0

SMTP配信にはgodaddyを使用しています。まず、これは私の特定のセットアップがどのように見えるかです:

:address => 'smtpout.secureserver.net',
:port => 3535,
:domain => 'www.neeis.com',
:authentication => :plain,
:user_name => 'user@neeis.com',
:password => 'password'

しかし!メールが gmail.com から送信された場合にのみ問題が発生する場合、godaddy はそれをブロックします。おそらくスパムと関係があります。それで、これが私がそれを解決した方法です。私のメーラーには次のようなものがあります:

    begin
      EmployeeMailer.emailtoemp(@message).deliver
    rescue
      EmployeeMailer.emailtoempforce(@message).deliver
    end

そのため、最初に from = 'somebody@gmail.com' を指定してメールを配信しようとして失敗した場合は、from = 'webmaster@mysite.com' を指定して送信を試み、送信元アドレスをメールの本文に埋め込みます。 Eメール。これは完全な解決策ではありません。これらは Web ユーザーから従業員に送信される電子メールです。多くの場合、従業員は差出人アドレスに気付かず、返信をクリックするだけで、ウェブマスターである私にメールを送信します。

于 2012-09-18T21:44:27.790 に答える
0

最初にポート 25 の代わりにポート 587 を使用してみてください。

これが機能しない場合は、Heroku Sendgrid プラグインを使用して簡単に修正できます。1 日あたりのメール送信数が 200 未満の場合は無料です。

于 2012-09-19T21:35:51.310 に答える