フォームを使用してメッセージの詳細を収集し、メッセージを gmail/yahoo アカウントにメールで送信する Rails アプリケーションがあります。
これを config/initializers の setup_mail.rb に追加しました:
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:user_name => "my_user",
:password => "my_pass",
:authentication => "plain",
:enable_starttls_auto => true
}
POST ルートには次のようにコントローラーを使用します。
def create
@message = Message.new(params[:message])
if @message.valid?
NotificationsMailer.new_message(@message).deliver!
redirect_to(root_path, :notice => "Message was successfully sent.")
else
flash.now.alert = "Please fill all fields."
redirect_to('#')
end
end
メッセージ パラメータは、次のようにきれいにフォームから受け入れられます。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"4xgV0umvaTPzYxd18qdJq/GT7QCdXjrPTGR7D9R3AC4=", "message"=>{"name"=>"Deepak", "email"=>"deepakm.ccx@gmail.com", "subject"=>"Hi", "body"=>"Hi"}, "commit"=>"Send"}
セットアップで Yahoo 資格情報を使用するか、Gmail 資格情報を使用するかに関係なく、同じエラー メッセージが表示され続けます。ActionMailer::Base.smtp_settings のすべての設定にコメントしましたが、それでもこの問題が発生します。これにより、この問題はこのコード以外の何かに関連している可能性があると思われますが、まったく手がかりがありません.
-ディープパック