При отправке уведомлений по электронной почте с вложениями результирующая многосоставная структура MIME формируется некорректно. Вложения включаются как часть типа «alternative», а не как часть типа «mixed». В результате некоторые почтовые клиенты, такие как Thunderbird, не отображают эти вложения, поскольку интерпретируют их просто как альтернативный формат содержимого письма (как текст против HTML).
[Следующая цитата взята из по сути идентичного отчёта об ошибке для Mailer, который также использует модуль Mail.]
Как я ожидаю, должна быть структурирована электронная почта:
multipart/mixed multipart/alternative text/plain text/html application/pdf (т. е. в случае вложения PDF)Что я получаю:
multipart/alternative text/plain text/html application/pdf (т. е. в случае вложения PDF)Практический эффект:
Thunderbird отображает правильный текстовый корпус в зависимости от предпочтений пользователя (txt или html), но не показывает вложение как отдельный файл (хотя оно присутствует в исходном коде письма в виде блока, закодированного в base64). Почтовый клиент iOS показывает пустое тело письма и только вложение PDF как файл, поскольку оно является последним элементом, и, по-видимому, почтовый клиент отображает только его.
Существует несколько возможно связанных отчётов об ошибках в модуле Mail, на который опирается Discourse. Некоторые из этих отчётов закрыты с неявным намёком на то, что передача частей определённым образом решает проблему. Я не уверен, что это именно тот случай, но несколько таких отчётов связаны из отчёта, процитированного и упомянутого выше.