ActionMailer
を使用して、アプリケーションの「お問い合わせ」フォームにメールを送信しています。私は私のemails.Theseを送信するためのマンドリルのアプリを使用しています
は私の設定です:ActionMailerとOutlook/Mandrillapp SMTPサーバーでメールを送信
設定/環境/ development.rb
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.mandrillapp.com",
:port => 587,
:enable_starttls_auto => true,
:user_name => 'SMTP username i.e Mandrill a/c username',
:password => 'API key for development',
:domain => 'example.com',
:authentication => 'plain'
}
設定/環境/ production.rb
私はを削除しました行
config.action_mailer.raise_delivery_errors = true
と生産のためのパスワードを変更 - 生産のためのMandrillアプリのAPIキーです。
アプリ/メーラー/ contactus_mailer.rb
class ContactusMailer < ActionMailer::Base
default :from => "[email protected]"
default :to => "[email protected]"
def new_message(message)
@message = message
mail(:subject => "[WebsiteName] #{message.name + " - " + message.email}")
end
end
カスタムドメインで上記のアカウントの妥当性 - example.com
上記の電子メールアカウントは完全に[email protected]
& [email protected]
がプロビジョニングされているIEと機能的。上記のアカウントはOutlook.comで設定されており、ドメインexample.comのMXレコードを再確認し、ドメイン設定は自分のドメインでアクティブになっています。証拠として、私は両方のアカウントの電子メールをアカウントから送受信できます。
開発・生産環境のログ:
私は両方の環境でお問い合わせフォームを使用し、actionmailerのがエラーを報告していないし、ホームページに正常にリダイレクトされます。
Started POST "/contact" for 127.0.0.1 at 2013-08-18 12:35:37 +0530
Processing by MessagesController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"UNgMrA04yk4sIbqtXjlLvLvDINgrBT5eP0wMSRYNgPs=", "message"=>{"name"=>"Dummy name", "email"=>"[email protected]", "content"=>"Random body"}, "commit"=>"Send Message"}
Rendered contactus_mailer/new_message.text.erb (0.5ms)
Sent mail to [email protected] (2679ms)
Date: Sun, 18 Aug 2013 12:35:38 +0530
From: [email protected]
To: [email protected]
Message-ID: <[email protected]l>
Subject: [WebsiteName] Dummy name - [email protected]
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Name: Dummy name
Email: [email protected]
Body: Random body
Redirected to http://localhost:3000/
Completed 302 Found in 3841ms (ActiveRecord: 0.0ms)
本番環境用マンドリルのApp APIログ:
全要求:
{
"from_email": null,
"from_name": null,
"async": false,
"key": "API key for production",
"raw_message": "Received: from example.com (unknown [23.20.245.109])\n\t(Authenticated sender: [email protected])\n\tby ip-10-31-147-25 (Postfix) with ESMTPSA id 6811A151A064\n\tfor <[email protected]>; Sun, 18 Aug 2013 08:19:11 +0000 (UTC)\nDate: Sun, 18 Aug 2013 08:19:11 +0000\nFrom: [email protected]\nTo: [email protected]\nMessage-ID: <[email protected]mail>\nSubject: [WebsiteName] Dummy name - [email protected]\nMime-Version: 1.0\nContent-Type: text/plain;\n charset=UTF-8\nContent-Transfer-Encoding: 7bit\n\nName: Dummy name\n\nEmail: [email protected]\n\nBody: Random body",
"to": [
"[email protected]"
]
}
全応答:開発環境の
[
{
"email": "[email protected]",
"status": "rejected",
"_id": "9c9f88c588ee4f369437b8dd5d531c8c",
"reject_reason": "soft-bounce"
}
]
マンドリルのApp APIログ:
完全な開発要求env。プロダクション環境に似ています。しかし、開発段階では対応が異なります。
完全な応答:
[
{
"email": "[email protected]",
"status": "sent",
"_id": "e67f31f893a84ecdb0ed2438e5741ce1",
"reject_reason": null
}
]
注:は、私は両方の開発環境と本番環境で自分のアカウント[email protected]
に電子メールを受信していないのです。
クエリ:。私は、ステータス、ソフトバウンスは、生産ENVの理由を拒否拒否取得していますなぜ、開発のためにそれが送信される状態と何が理由を拒否していないと言うのに対し、
。
どちらの場合でもメールが届かないのはなぜですか?
P.S.
当初はMandrill app
を使用していませんでしたが、no [email protected]
の資格情報とともに、smtp.live.com
をSMTPサーバーとして使用していましたが、それはうまくいかなかった。 その後、私はGoogleでいくつかの掘り下げの後、Mandrillに切り替えました。
誰かがOutlookのメール設定を手助けすることができれば、同様に良いでしょう。そうすれば、マンドリルはまったく必要ないでしょう。
この正確な設定を使用していますが、SSLエラーが発生しています。あなたはSSL証明書を持っていましたか?あなたのドメインのために? –
@TommyAdey:いいえ。私はSSL証明書を持っていませんでした。あなたはもう少しあなたの問題を説明してください。 –
私はOpenSSL :: SSLError - SSL_read:バージョン番号が間違っていると言っています。私は今数日間試してきましたが、まだ動作していません。私も試した:openssl_verify_mode => 'none'。 –