0

Rails プロジェクトにmail_form gemを実装するために、このチュートリアルに従っています。私のアプリには、入力したユーザーにメールを送信する連絡フォームが必要です。チュートリアルは良さそうですが、予備的な問題が発生しています。これ:

まず最初に、送信メールが好みに合わせて構成されていることを確認してください。本番環境では Google がホストするメールを使用し、開発環境では MockSMTP または Mailcatcher を使用しています。

門を出てすぐに、送信メールの設定方法がわかりません。最初の質問: gmail を使用して開発と本番の両方を構成しても問題ありませんか? とにかく、私の構成への刺し傷 - 私は周りを見回して、次のようなものを見つけました:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address:              'smtp.gmail.com',
port:                 587,
domain:               'example.com',
user_name:            '<username>',
password:             '<password>',
authentication:       'plain',
enable_starttls_auto: true  }

それを`config/environments/development.rbに配置しました。

Rails コンソールから新しい ContactForm を作成し、MailForm を使用して配信しました。これはコンソール内では成功したように見えましたが、実際にはターゲット アドレスに電子メールを送信していませんでした。開発と実稼働の構成の違いを誤解しているだけだと思いますが、これがコンソール外の開発で機能しているかどうか、および実稼働で引き続き機能するかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

0

コントローラーから来た同様の問題がありました。

次のようなことを試してください:

contact_conroller.rb

    class ContactsController < ApplicationController 

    def new
    @contact = Contact.new
    if 
    Contact.new(params[:contact]).deliver
    redirect_to '/contacts/thanks', :alert => ["Yeah!"]
    end
   else

   end


   def create
@contact = Contact.new(params[:contact])
    if 
   @contact.valid?
@contact.deliver
   end
   else 
  render :new
  end

  end
于 2013-10-25T17:58:19.557 に答える