Отображение электронной почты Ruby on Rails - PullRequest
0 голосов
/ 16 сентября 2009

Я хочу хранить электронные письма в базе данных, а затем правильно отображать их в Ruby on Rails для пользователя (в идеале, с хорошо отформатированным, складным заголовком, поддержкой вложений и т. Д.). Уже есть хороший способ сделать это?

Прямо сейчас я храню электронные письма в базе данных в виде текста, но у меня не получается найти хороший способ показать их пользователю на странице рельсов?

Есть предложения? Я открываюсь, чтобы изменить способ хранения электронной почты в базе данных, если есть лучший способ.

Заранее спасибо!

1 Ответ

2 голосов
/ 17 сентября 2009

Возможно, вы захотите взглянуть на библиотеку TMail , которая поставляется с направляющими (и может обновляться самостоятельно).Предположим, у вас есть модель с именем Message, которая соответствует таблице, содержащей письма, и что атрибут / столбец с именем raw_mail содержит необработанный текст письма.

Затем можно создать экземпляр объекта TMAil::Mailи работайте с ним так:

@email = TMail::Mail.parse(Message.find(params[:id]).raw_mail)

Это обеспечивает, например,:

@email.body # => Dear NoahD, how are you? I'm fine...
@email.subject # => Hello from New Zealand
@email.has_attachment? #=> true
@email.attachments.first.original_filename # => kiwi.jpg

Что касается хранения почты: письма могут содержать не-ASCII символы, поэтомувозможно, вам нужно убедиться, что тип столбца, выбранный для raw_mail ActiveRecord, действительно способен обрабатывать эти данные.Я думаю, :binary хороший выбор там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...