ZF1 и ZF2, отправка нескольких частей в письме неправильно обрабатывается на разных почтовых клиентах, таких как outlook
Я пытаюсь отправить электронное письмо, которое состоит из нескольких частей. Это электронное письмо отображается правильно в Gmail, Thunderbird, но не так, как ожидалось в почтовом клиенте Outlook. В почтовом клиенте Outlook первая часть письма отображается как содержимое, а остальные части как вложение (т. Е. Одно вложение на часть). Примеры фрагментов кода:
namespace MyProject\Service;
use Zend\Mime\Part as MimePart;
use Zend\Mime\Message as MimeMessage;
use Zend\Mail\Message;
use Zend\Mail\Transport\Sendmail;
class MailService
{
/**
* @throws \Exception
*/
public function sendMail() : void
{
$htmlPart1 = new MimePart('<html>
<body>
<table>
<tr><td>Test data 1</td></tr>
<tr><td>Test data 1</td></tr>
<tr><td>Test data 1</td></tr>
<tr><td>Test data 1</td></tr>
<tr><td>Test data 1</td></tr><tr>
<td>Test data 1</td></tr>
</table>
</body>
</html>');
$htmlPart1->type = 'text/html';
$htmlPart2 = new MimePart('<html>
<body>
<table>
<tr><td>Test data 2</td></tr>
<tr><td>Test data 2</td></tr>
<tr><td>Test data 2</td></tr>
<tr><td>Test data 2</td></tr>
<tr><td>Test data 2</td></tr><tr>
<td>Test data 2</td></tr>
</table>
</body>
</html>');
$htmlPart2->type = 'text/html';
$body = new MimeMessage();
$body->setParts(array($htmlPart1, $htmlPart2));
$mail = new Message();
$mail->setBody($body);
$mail->setFrom('Freeaqingme@example.org', 'Sender\'s name');
$mail->addTo(<SOME_OUTLOOK_EMAIL>, 'Name');
$mail->addTo(<SOME_GMAIL_EMAIL>, 'Name');
$mail->setSubject('TestSubject');
try{
$transport = new Sendmail();
$transport->send($mail);
} catch (\Exception $e){
throw $e;
}
}
}
В приведенном фрагменте, <SOME_OUTLOOK_EMAIL>
= некоторая существующая электронная почта перспективы и <SOME_GMAIL_EMAIL>
= какой-то существующий адрес электронной почты Gmail.
Обратите внимание, что приведенный выше фрагмент разработан с использованием ZF2. У нас также были те же проблемы, когда мы использовали ZF1 ранее в нашем проекте.
Когда мы искали решение, мы столкнулись с сообщением о проблеме ZF1, но пока не смогли определить правильное решение. Другими словами, относится ли это к почтовым библиотекам ZF или к серверам обмена / почтовому клиенту, которые не могут быть обработаны с помощью исходного кода.
Было бы очень полезно, если кто-нибудь может помочь мне решить мою проблему.