ZF1& ZF2,在邮件中发送多个部分无法在outlook

时间:2017-07-05 07:22:58

标签: zend-framework zend-framework2 zend-mail

我正在尝试发送包含多个部分的电子邮件。此电子邮件在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> =一些现有的Outlook电子邮件和<SOME_GMAIL_EMAIL> =一些现有的Gmail电子邮件。

请注意,上面的代码片段是使用ZF2开发的。当我们在项目中使用ZF1时,我们也遇到了同样的问题。

当我们搜索解决方案时,我们遇到ZF1 Issue reported,但我们无法确定正确的解决方案。换句话说,这是与ZF邮件库有关的东西,还是与交换服务器/邮件客户端有关的东西,无法通过源代码处理。

如果有人帮我解决问题,那将会非常有帮助。

0 个答案:

没有答案