Railsアプリでアクションメーラーを使用してメールを送信しています。ただし、デフォルトの送信者は 1 つしか許可されません。これは私の UserMailer クラスです:
class UserMailer < ActionMailer::Base
default :from => "example@example.com"
def welcome_email(user, order)
@user = user
@order = order
mail(:to => user.email, :subject => "Your Order")
end
def signup_email(user)
@user = user
mail(:to => user.email, :subject => "Thank you.")
end
def invite_confirm(curuser,usemail,post)
@greeting = "Hi"
@user = curuser
@post = post
mail(:to => user.email, :subject => "Hello")
end
end
私はこれを試しました:
class UserMailer < ActionMailer::Base
def welcome_email(user, order)
@user = user
@order = order
mail(:to => user.email, :subject => "Your Order", :from => "abc@xyz.com")
end
def signup_email(user)
@user = user
mail(:to => user.email, :subject => "Thank you.", :from => "qwe@asd.com")
end
def invite_confirm(curuser,usemail,post)
@greeting = "Hi"
@user = curuser
@post = post
mail(:to => user.email, :subject => "Hello", :from => "zyx@asd.com")
end
end
しかし、それでも「example@example.com」からメールを送信しています
UserMailer クラスに記述されたメソッドごとに送信者を変更する方法はありますか? 他の場所に変更する必要がありますか?
config/environments/development.rb および config/environments/production.rb には、次のものがあります。
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => "587",
:domain => "gmail.com",
:authentication => "plain",
:user_name => "example@example.com",
:password => "example",
:enable_starttls_auto => true
}
ここでは何も変更しないでください。