Возьмите контроль над электронной почтой в Rails
-
01-10-2019 - |
Вопрос
Мне нужно изменить тему электронных писем на низкий уровень. Какие рельсы кодируют тему, сколько указано в любой кодировке. То, что мне нужно, это заставить его цитироваться, но разбиться на куски 64 байта, так как Hotmail на самом деле не идет со стандартами: /
Как сказать, рельсам взять тему как есть?
Решение
Я посмотрел на это как следствие до моего ответа на предыдущий вопрос. Проблема лежит с Tmail. Он автоматически удаляет и возвращается карета из объекта. Я создал следующий патч обезьян, так как кажется единственным решением, чтобы остановить поведение Tmail.
module TMail
class SubjectHeaderField < UnstructuredHeader
def parse
#Do nothing
end
end
class HeaderField
FNAME_TO_CLASS = FNAME_TO_CLASS.merge('subject' => SubjectHeaderField)
end
end
Если вы включите его в почтово в Rails 2.3.x, он должен работать. В качестве альтернативы вы можете посмотреть на http://github.com/mikel/mail/ Какой почтовый почтовый по умолчанию в Rails 3?
Затем вы можете установить заголовок перед кодированием, так как предыдущий ответ показал.
Другие советы
"This is a very very long subject line of an email that hotmail has problems processing".scan(/.{1,16}/)
#=> ["This is a very v", "ery long subject", " line of an emai", "l that hotmail h", "as problems proc", "essing"]
Я сделал это на 16 символов, вот ссылка на док http://www.ruby-doc.org/core/Classes/string.html#m000812.
Емкость