Получать отправителя (Return-Path, Sender или From), необходимого для отправки сообщения - PullRequest
6 голосов
/ 13 марта 2012
class SupportMailer < ActionMailer::Base
  default :from => "email1@gmail.com"

  def welcome_email(ticket)
    case ticket.game
    when "gameone"
        @ticket = ticket
        headers["Reply-to"] = "email1+#{ticket.token}@gmail.com"
        headers["Return-Path"] = "email1+#{ticket.token}@gmail.com"
        mail(:from => "email1@gmail.com", :to => ticket.email, :subject => "Welcome to 1 Support Ticket")
    when "gametwo"
        @ticket = ticket
        headers["Reply-to"] = "email2+#{ticket.token}@gmail.com"
        headers["Return-Path"] = "email2+#{ticket.token}@gmail.com"
        mail(:from => "email2@gmail.com", :to => ticket.email, :subject => "Welcome to 2 Support Ticket")
    when "gamethree"
        @ticket = ticket
        headers["Reply-to"] = "email3+#{ticket.token}@gmail.com"
        header["Return-Path"] = "email3+#{ticket.token}@gmail.com"
        mail(:from => "email3@gmail.com", :to => ticket.email, :subject => "Welcome to 3 Support Ticket")
    end
  end
end

Я установил значение по умолчанию: from, поэтому я не понимаю, почему я продолжаю получать это сообщение, я также пытаюсь установить его через заголовки безрезультатно.

вот мои настройки

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "gmail.com",
  :user_name            => "emailx@gmail.com",
  :password             => "password",
  :authentication       => "plain",
  :enable_starttls_auto => true
}

Я просто так называю, SupportMailer.support_response(@message).deliver

Как мне это исправить?

1 Ответ

3 голосов
/ 19 июня 2012

Я заметил, что у вас нет дела по умолчанию для заявления дела.Если вы никогда не вызовете метод "mail" внутри ваших методов в классе Mailer, вы получите эту ошибку.Попробуйте переместить ваше заявление в то место, где вы вызываете SupportMailer, возможно, есть методы для каждого случая.Таким образом, вы никогда не позвоните в SupportMailer, если вы уже не определили правильную игру с билетами.

...