0

おそらく何百万回も質問されていますが、私の場合は異なり、考えられるすべての構成オプションを試し、本番モードでも試しました。メールはレンダリングされますが、どこにも表示されません。メールを見るために15ドルのMockSMPTアプリを購入しましたが、何も出てこないようです。

MockSMTPの構成は次のとおりです。

config.action_mailer.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
  :address => "localhost",
  :port => 1025,
  :domain => "whatever.com"
}
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true

私はすべてを試しましdelivery_method:test、、、:file私は私の髪をはぎ取っています、何も助けにはなりません:

Rendered contact_mailer/contact_email.html.erb (2.1ms)

そして、これはそれです。

送信するためのコードは簡単です:

def contact_email(contact, house=nil)
  @house=house if house
  @contact=contact
  mail(to: contact.email, subject: "#{contact.name} new inquiry")
end

Rails 3.2.8

contact_controller.rb

def create
  @contact = Contact.new(params[:contact])
  if @contact.valid?
    @house=House.find_by_id(params[:house_id])
    ContactMailer::contact_email @contact, @house
  end
end
4

1 に答える 1

1

あなたは書くべきです:

ContactMailer.contact_email(@contact, @house).deliver

ここでActionMailerのドキュメントを読むことができます:

http://api.rubyonrails.org/classes/ActionMailer/Base.html

あなたのステートメントは Mail::Message オブジェクトを作成するだけで、deliver は実際にメールを送信します。

于 2012-09-26T15:24:48.050 に答える