Это звучит как относительно нормальное поведение для сообщения, которое отправляется как в виде текста, так и в формате HTML, и / или почтового клиента (на стороне получателя), который предпочитает текстовые электронные письма. Я подозреваю, что это связано с поведением клиента, которое вы не сможете изменить (но с положительной стороны все электронные письма HTML будут выглядеть так).
Дело в том, что электронное письмо в формате HTML (с текстовым компонентом) действительно является составным сообщением, в котором HTML-содержимое является одной из «дополнительных» частей. Все, что вы на самом деле отправляете в электронном письме со стороны сервера, - это куча текста, и принимающий почтовый клиент должен решить, как его отобразить. В этом отношении для клиента не является неправильным отображать ваш HTML в качестве вложения - точно так же, как для умного клиента не является ошибкой вывод, что HTML не является «настоящим» вложением, и активирует какое-то переключение между текстом и HTML (вместо отображения его в виде вложения).
Если вы уверены, что клиент будет нормально относиться к HTML таким умным способом, то:
- Вам нужно будет указать, какой клиент вы используете для проверки, потому что на самом деле это не проблема с отправкой per se ; и
- Возможно, вы захотите взглянуть на необработанный источник электронной почты, который «работает», и вашу электронную почту, которая не работает, чтобы определить, какие критические различия вызывают различные режимы рендеринга. В зависимости от клиентского программного обеспечения это может быть что угодно, но я бы уделил особое внимание типам MIME и кодировкам деталей.