私は本当にこれで苦労しています。誰がここで間違っているのを見ることができますか?私はメーラーを動作させるように見えません...私は自分のサイトに連絡フォームを作成しようとしているので、ユーザーは私のサイトからメールを送ることができます。私は、名前、電子メール、件名、および身体を持つ「連絡先」を作成し、メールとして配信します。メーラーをレールに設置する0_o
コントローラ/ contacts_controller.rb
class ContactsController < ApplicationController
def index
end
def new
@contact = Contact.new
end
def create
@contact = Contact.new(contact_params)
respond_to do |format|
if @contact.save
UserMailer.mail_jill(@contact).deliver
format.html { redirect_to(@contact, :notice => 'User was successfully created.') }
else
format.html { render :action => "new" }
format.json { render :json => @contact.errors, :status => :unprocessable_entity }
end
end
end
def contact_params
params.require(:contact).permit(:name, :email, :subject, :body)
end
end
メーラー/ user_mailer.rb
class UserMailer < ActionMailer::Base
def mail_jill(message)
@name = message.name
@email = message.email
@subject = message.subject
@body = message.body
mail(to: '<my_email_address>', subject: @subject, body: @body, from: @email)
end
end
ビュー/ user_mailer/mail_jill.html.erb:
<h1>From, <%= @contact.name %></h1>
<p>
@contact.body
</p>
<p>-<%= @contact.email %></p>
$ RAILS_ENV.rb:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.sendmail_settings = {
:address => "smtp.gmail.com",
:port => "465",
:domain => "gmail.com",
:user_name => "<my_gmail_address>",
:password => "<my_gmail_password>",
:authentication => "plain",
:enable_starttls_auto => true
}
設定/環境/
development.rb:ライブサイトからの電子メールを送信した後、コマンドラインから
# mailer
config.active_support.deprecation = :log
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { :host => "localhost:3000" }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => ENV['address'],
:port => ENV['port'],
:user_name => ENV['gmail_username'],
:password => ENV['gmail_password'],
:authentication => ENV['authentication'],
:enable_starttls_auto => true
全エラー出力:
2016-04-15T23:40:12.932560+00:00 app[web.1]: Sent mail to [email protected] (348.5ms)
2016-04-15T23:40:12.932577+00:00 app[web.1]: Date: Fri, 15 Apr 2016 23:40:12 +0000
2016-04-15T23:40:12.932579+00:00 app[web.1]: From: [email protected]
2016-04-15T23:40:12.932579+00:00 app[web.1]: To: [email protected]
2016-04-15T23:40:12.932581+00:00 app[web.1]: Message-ID: <[email protected]27267.mail>
2016-04-15T23:40:12.932583+00:00 app[web.1]: Subject: hi
2016-04-15T23:40:12.932583+00:00 app[web.1]: Mime-Version: 1.0
2016-04-15T23:40:12.932584+00:00 app[web.1]: Content-Type: text/plain;
2016-04-15T23:40:12.932585+00:00 app[web.1]: charset=UTF-8
2016-04-15T23:40:12.932585+00:00 app[web.1]: Content-Transfer-Encoding: 7bit
2016-04-15T23:40:12.932586+00:00 app[web.1]:
2016-04-15T23:40:12.932587+00:00 app[web.1]: hiiiii
2016-04-15T23:40:12.932687+00:00 app[web.1]: Completed 500 Internal Server Error in 367ms
2016-04-15T23:40:12.933562+00:00 app[web.1]:
2016-04-15T23:40:12.933579+00:00 app[web.1]: Net::SMTPAuthenticationError (530-5.5.1 Authentication Required. Learn more at
2016-04-15T23:40:12.933580+00:00 app[web.1]:):
2016-04-15T23:40:12.933581+00:00 app[web.1]: app/controllers/contacts_controller.rb:12:in `create'
2016-04-15T23:40:12.933582+00:00 app[web.1]:
2016-04-15T23:40:12.933583+00:00 app[web.1]:
メールを送信しようとしたときにどういうことが起こっていますか?エラーが出ていますか? – sixty4bit
@ sixty4bit完全なエラー出力を追加しました^ –
ポート番号は正しいですか? – hypern