Могу ли я отправлять электронную почту с разных адресов, используя один и тот же ActionMailer - PullRequest
3 голосов
/ 20 февраля 2011

Я использую ActionMailer для моего приложения Rails 2.3.9.

Когда я отправляю электронное письмо, используя:

  deliver_user_invite

конфиг:

  def user_invite(subject, content)
    subject subject
    from "User Invite <invite@mydomain.com>"
    recipients "invites@mydomain.com"
    sent_on Time.now
    content_type "text/html"
    body :content => content
  end

с конфигурацией SMTP

  config.action_mailer.smtp_settings = {
      :enable_starttls_auto => true,
      :address        => 'smtp.gmail.com',
      :port           => 587,
      :domain         => 'mydomain.com',
      :authentication => :plain,
      :user_name      => 'user@mydomain.com',
      :password       => 'password'    
  }

Однако, когда электронное письмо отправлено, электронное письмо отправителя отображается как user@mydomain.com вместо Invite@mydomain.com.

.

Могу ли я иметь различную конфигурацию SMTP для разных адресов электронной почты? или есть способ установить адрес электронной почты отправителя из конфигурации ActionMailer?

1 Ответ

6 голосов
/ 20 февраля 2011

Это ограничение SMTP в Gmail.В качестве отправителя электронного письма всегда будет использоваться имя пользователя / логин, который вы используете для настроек smtp, и будет игнорироваться ваш from адрес.

Возможным обходным решением может быть динамическое изменение настроек smtp, когдаВам нужно отправить сообщение от имени другого пользователя.

Редактировать: Возможно, вы сможете перейти в настройки своей учетной записи Gmail и использовать опцию «Добавить свой собственный адрес электронной почты», чтобы разрешитьВаш аккаунт для отправки через эти адреса электронной почты.Я не проверял это, но это может сработать.(См. http://www.mobileread.com/forums/showpost.php?p=21093&postcount=1).

...