Как указать, кто отправляет письмо с гемом `mail`?

Я отправляю электронные письма с mail драгоценный камень, используя очень простой код ниже. Когда я отправляю электронное письмо, smtp_account.user_name и smtp_account.from может быть, например, support@thebestcompany.com, Это заставляет получателя видеть, что он получил электронное письмо от support (Вы знаете, в своем почтовом ящике, где он может получить обзор своих последних x электронных писем). Как я могу указать это, чтобы получатель увидел что-то более интересное, например, например, The Best Company?

require 'mail'

class SmtpMails

  def self.send_mails(smtp_account, to, subject, text)
    options = {
      :address              => smtp_account.address,
      :port                 => smtp_account.port,
      :domain               => smtp_account.domain,
      :user_name            => smtp_account.user_name,
      :password             => smtp_account.password,
      :authentication       => smtp_account.authentication,
      :enable_starttls_auto => smtp_account.enable_starttls_auto
    }

    Mail.defaults do
      elivery_method :smtp, options
    end

    mail = Mail.deliver do
      to to
      from smtp_account.from
      subject subject
    end
  end
end

2 ответа

Решение

Вам нужно будет добавить дополнительную информацию при указании отправителя электронного письма. Следующий фрагмент кода должен делать то, что вы хотите:

mail = Mail.deliver do
  to to
  from "The Best Company <#{smtp_account.from}>"
  subject subject
end

Поместив адрес электронной почты между < а также > скобки - это стандартная практика добавления понятного имени для отправляемого электронного письма.

mail.from.addresses
mail.sender.address

Попробуй это.

Другие вопросы по тегам