RailsのActionMailerで501 Recipient syntax errorが発生しメールが送信できません
唐突で大変、申し訳ありません。
現在、RailsでActionMailerを用いて問合せフォーム実装しているのですが、下記エラーが表示されメールを送信することができません。
原因は何でしょうか?
エラー文
Net::SMTPSyntaxError in InquiriesController#thanks
501 Recipient syntax error
コントローラ
def thanks
@inquiry = current_user.inquiries.build(confirm_params)
@blog = Blog.find(params[:id])
@inquiry.blog_id = @blog.id
if params[:back]
render :new
elsif @inquiry.save # DBに保存できたらメールを送信
@mail = InquiryMailer.sendmail_confirm(@inquiry,@blog).deliver_now
else
render :new
end
end
ブラウザでは、@mail = InquiryMailer.sendmail_confirm(@inquiry,@blog).deliver_now
に問題があると表示されています。501エラーがどのようなものかも分からず困っています。
何卒宜しくお願い致します。
・追記しました(現在の最新のソースコードになります)
team_inquiries_controller.rb
class TeamInquiriesController < ApplicationController
def new
@team_inquiry = current_user.team_inquiries.build
end
def confirm
@team_inquiry = current_user.team_inquiries.build(confirm_params)
if @team_inquiry.valid?
else
render action: 'new'
end
end
def thanks
@team_inquiry = current_user.team_inquiries.build(confirm_params)
@blog = Blog.find(params[:id])
@team_inquiry.blog_id = @blog.id
if params[:back]
render :new
elsif @team_inquiry.save # DBに保存できたらメールを送信
@mail = TeamInquiryMailer.sendmail_confirm(@team_inquiry,@blog).deliver_now
else
render :new
end
end
private
def confirm_params
params.require(:team_inquiry).permit(:content,:blog_id)
end
end
※上記、thanksアクション内の、.sendmail_confirm(@team_inquiry,@blog)の中身です。@mail =TeamInquiryMailer~の上で実行しました。
raise @team_inquiry.inspect
TeamInquiry id: 137, content: "今日はいい天気ですね!!", created_at: "2016-04-19 06:06:53", updated_at: "2016-04-19 06:06:53", user_id: 265, blog_id: 8
raise @blog.inspect
Blog id: 8, title: "こんにちは!!", content: "明日は宜しくお願いします!!", created_at: "2016-03-25 00:41:21", updated_at: "2016-03-25 00:41:21", user_id: 262, activity_area: "東京都", our_team_id: 5
team_inquiry_mailer.rb
class TeamInquiryMailer < ApplicationMailer
#デフォルトのヘッダ情報
default from: "info@ailes.com" # 送信元アドレス
def sendmail_confirm(team_inquiry,blog)
@team_inquiry = team_inquiry
@blog = blog
mail to: blog.user.email, cc: ([@team_inquiry.blog.title, @team_inquiry.user.name, @team_inquiry.content]), subject: "投稿したブログに問い合わせがありました。"
end
end
sendmail_confirm.html.erb
・投稿したブログのタイトル
%= @team_inquiry.blog.title %
・お名前
%= @team_inquiry.user.name %
・問合せ内容
%= simple_format(@team_inquiry.content) %
team_inquiry.rb
class TeamInquiry < ActiveRecord::Base
belongs_to :user
belongs_to :blog
validates :content, length: { in: 1..500 } #1000文字以下で入力
end
blog.rb
class Blog < ActiveRecord::Base
belongs_to :user
belongs_to :our_team
has_many :team_inquiries, dependent: :destroy
end
routes.rb
resources :blogs do
resources :comments
member do
get 'team_inquiries' => 'team_inquiries#new'
post 'team_inquiries/confirm' => 'team_inquiries#confirm'
patch 'team_inquiries/thanks' => 'team_inquiries#thanks' #PATCHリクエストに対応
post 'team_inquiries/thanks' => 'team_inquiries#thanks' #送信完了ページ
end
end
schema.rb
create_table "blogs", force: :cascade do |t|
t.string "title"
t.text "content"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "user_id"
t.string "activity_area"
t.integer "our_team_id"
end
create_table "team_inquiries", force: :cascade do |t|
t.text "content"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "user_id"
t.integer "blog_id"
end
現状は、team_inquiries_controller.rbのthanksアクション内の.deliver_nowをコメントアウトすれば、thanks.html.erbが表示され、DBには正常に保存されます。