Решение проблемы с именем отправителя в ActionMailer
-
28 апреля 2010 00:15
-
Комментарии

Сегодня я хочу рассказать о проблеме с которой сталкивался несколько раз работая с ActionMailer в Ruby on Rails и отправляя письма через Gmail. Суть проблемы заключается в том что при попытке передать имя и адрес отправителя в поле FROM, SMTP сервер возвращает ошибку:
/usr/lib/ruby/1.8/net/smtp.rb:930:in `check_response': 555 5.5.2 Syntax error. 14sm2913621ewy.14 (Net::SMTPFatalError)
...
Проблема заключается в том что e-mail в данном случае передаётся в поле MAIL FROM которое в соответствии с RFC спецификацией должно принимать только e-mail адрес в треугольных скобках. Получается такая вот некорректная конструкция на которую ругается SMTP сервер:
MAIL FROM:<Don't reply <clo***ion@gmail.com>>
Но, есть другое поле которое называется FROM которое специально предназначено для e-mail-ов с именами. Чтобы ваш e-mail с именем попал в него нужно сделать две вещи:
- Присвоить заголовку RETURN-PATH e-mail адрес без имени
- Присвоить полю FROM e-mail адрес с именем
Получается такой вот код:
def weekly_report
from "Don't reply <#{clo***on@gmail.com}>"
headers "return-path" => "clo***on@gmail.com"
recipients "user@example.com"
subject "Weekly Report"
body "E-Mail Body"
end
Надеюсь эта информация окажется кому-то полезной т.к. сам потратил немало времени пытаясь найти в интернете её решение.
в формате RSS. Присоединяйся!
Комментарии
Добавить новый комментарий
Вы можете использовать следующие BBCode теги в комментариях:
| BBCode тег | Результат |
|---|---|
| [b]Жирный текст[/b] | Жирный текст |
| [i]Курсив[/i] | Курсив |
| [u]Подчёркнутый текст[/u] | Подчёркнутый текст |
| [url]http://example.com[/url] | http://example.com |
| [url=http://example.com]Example[/url] | Example |
|
[code]for message in @messages puts message.name end[/code] |
|
|
[quote] IE6 must die! [/quote] |
IE6 must die! |


Недавно искал решение этой проблемы, спасибо, за совет.