Почему ActionMailer случайно не отображает текстовую часть моих составных / альтернативных электронных писем? - PullRequest
3 голосов
/ 08 ноября 2010

Я пытаюсь отправлять электронные письма, содержащие как простой текст, так и html-компонент. Вложений нет, но в HTML-части есть встроенные изображения. Я использую контент типа "multipart / alternative". Я явно не устанавливаю части; Я полагаюсь на имена файлов, чтобы определить части. Я на рельсах 2.3.10.

Примерно в 60% случаев отправляемые электронные письма проходят без тела, а часть HTML прикрепляется к сообщению с именем «noname» (в любом случае в gmail). В остальное время отправляют как положено. Если я отправлю 10 писем за 10 секунд, почти всегда 6 из них будут пустыми.

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

Пустые электронные письма по-прежнему имеют тип содержимого multipart / alternative, но не имеют границ, поскольку пустые электронные письма не отображают текстовую часть, а показывают только HTML-часть. Глядя на отображаемые шаблоны, становится ясно, что текстовая часть сообщения полностью пропущена.

Почему это иногда работает, а часто и терпит неудачу? Все сообщения отправляются с отложенной работой.

Журнал для «хорошего» электронного письма:

Предоставленные уведомления / _комментарий (0,1 мс)
Визуализированные макеты / _footer (2.1ms)
Визуализированные макеты / _container (2.3ms)
Предоставленные общие / вложения / _count (0,6 мс)
Визуализированные макеты / речь / _bubble (21,4 мс)
Визуализированные макеты / речь / _detail (0,8 мс)
Предоставленные уведомления / _комментарий (22,6 мс)
Визуализированные макеты / _footer (2.0ms)
Визуализированные макеты / _container (2.2ms)
Отправлено письмо на [отредактировано]

Дата: пн, 8 ноября 2010 11:37:24 -0800
От: "[отредактировано]" <[отредактировано]>
Ответить: "[отредактировано]" [отредактировано]
Кому: [отредактировано]
Тема: Кто-то прокомментировал вашу вещь
MIME-версия: 1.0
Тип контента: составной / альтернативный; граница = mimepart_4cd85174328d6_1486..fdbe5b8d87fe

- mimepart_4cd85174328d6_1486..fdbe5b8d87fe
Тип контента: текстовый / простой; кодировка = UTF-8
Content-Transfer-Encoding: цитируемый для печати
Содержание-Диспозиция: встроенная

[содержание текстовой части]


[содержание html части]
--mimepart_4cd85174328d6_1486..fdbe5b8d87fe -

Журнал для пустой электронной почты:

Предоставлено общее / вложения / _count (0,1ms)
Визуализированные макеты / речь / _bubble (0,6 мс)
Визуализированные макеты / речь / _detail (0,7 мс)
Предоставленные уведомления / _комментарий (1.6мс)
Визуализированные макеты / _footer (25,9 мс)
Визуализированные макеты / _container (26,1 мс)
Отправлено письмо на [отредактировано]

Дата: понедельник, 8 ноября 2010 г. 11:37:29 -0800
От: "[отредактировано]" <[отредактировано]>
Ответить: "[отредактировано]" <[отредактировано]>
Кому: [отредактировано]
Тема: Кто-то прокомментировал вашу вещь
MIME-версия: 1.0
Тип контента: составной / альтернативный; charset = utf-8

[содержание части HTML]

Обратите внимание, что эти электронные письма были отправлены с интервалом в 5 секунд, и оба электронных письма (должны были) содержать одно и то же.

1 Ответ

3 голосов
/ 09 ноября 2010

У меня была эта проблема некоторое время назад с DJ и ActionMailer - оказалось, что я запускал DJ на двух служебных серверах, где я думал, что это был только один, и моя ловушка развертывания только перезапускала демона DJ на одном, а не на другом, и это вызвал целую кучу таких проблем.

То, что заставило мою голову расколоться больше всего, было 60% - когда некоторые шли хорошо, другие были полностью деформированы, но демон DJ, сбрасываемый на одном сервере, а не на другом, полностью объяснял несоответствие.

Надеюсь, это поможет!

...