邮件的三个问题Zend Framework 2



Zend Framework 2发送的邮件有三个问题。

首先,主题用逗号出现两次。例如,如果设置了"我的主题",Outlook或Gmail中的主题将是"我的主体,我的主体"。为什么会这样?我该如何解决?

在那之后,我的邮件文本前面总是写着一个"UTF-8"。我该如何删除它?

最后,我所有的口音都被"C)或)C"取代了。然而,我设置了UTF-8。

我在Outlook和Gmail中进行了测试。所有这些错误在Outlook和Gmail中都是相同的。

谢谢。

我的代码:

use ZendMailMessage;
use ZendMimeMessage as MimeMessage;
use ZendMimePart as MimePart;
use ZendMailTransportSendmail as SendmailTransport;
.
.
.
$message = new Message();   
$bodyPart = new ZendMimeMessage();
$bodyMessage = new ZendMimePart($emailTemplate);
$bodyMessage->type = 'text/html';
$bodyPart->setParts(array($bodyMessage));   
$message->setEncoding("UTF-8")
        ->addFrom("$from")
        ->addTo("$courrielDestinataire")
        ->setSubject($contactObject->sujet)
        ->setBody($bodyPart);
$transport = new SendmailTransport();
$transport->send($message);

当我从我的emailTemplate中删除它时,«UTF-8»没有显示在我的电子邮件中,但我不知道为什么。

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

然而,我没有解决另外两个问题。我制作了一个var_dump($message->getSubject()),它会正确地转储显示我的主题。

我为此更改了代码并修复了所有问题,但它不是ZF2

    $headers = "Content-Type: text/html; charset="UTF-8"";
    mail("$courrielDestinataire","$contactObject->sujet","$emailTemplate",$headers);

谢谢你的帮助。

对于您的问题

在ZF2中,主题用逗号出现两次。例如,如果主题",Outlook或Gmail中的主题将是"我的主题,我的主题"。

使用默认的Zend mailer发送电子邮件时,会添加两次主题标头。这是因为标头是由PHP mail()函数设置的,如果服务器是Windows机器,则不会从附加标头中删除。ZF2-177问题解决了这一问题,但仅适用于*nix机器。

检查这个issuehttp://framework.zend.com/issues/browse/ZF2-177

相关内容

最新更新