ActionMailer не отправляет электронные письма должным образом, если поле: to содержит запятую - PullRequest
5 голосов
/ 18 февраля 2012

Один из моих почтовиков выглядит так:

mail(:from => "Support Team <support@email.com>",
     :to => "#{@user.alias} <#{@user.email}>",
     :subject => 'Verification Email')

Однако, если псевдоним пользователя «Foobar, Bar», то электронное письмо фактически отправляется по адресу: Foobar, Bar <foobar@gmail.com>. то есть для foobar и для композитора.

Я думаю, что проблема в запятой в "Foobar, Bar". Нужно ли сбежать или что-то в этом роде?

Если мой почтовик выглядит так:

mail(:from => "Support Team <support@email.com>",
     :to => @user.email,
     :subject => 'Verification Email')

1 Ответ

9 голосов
/ 18 февраля 2012

Конечно, пробелы (и, возможно, запятые) в части имени заголовка электронного письма должны быть включены в кавычки.

Цитирование имени иногда необязательно, но никогда не запрещено, поэтому для простоты попробуйте:

mail(:from => "\"Support Team\" <support@email.com>",
     :to => "\"#{@user.alias}\" <#{@user.email}>",
     :subject => 'Verification Email')

РЕДАКТИРОВАТЬ Для полноты я добавил экранированные кавычки в from, потому что они также должны быть необходимы.

...