我的Zend Framework 2发送的邮件有三个问题。
首先,主题以逗号出现两次。例如,如果设置为“我的主题”,则Outlook或Gmail中的主题将是“我的主题,我的主题”。为什么会这样做,我该如何解决?
之后,在我的邮件文本之前总是写着“UTF-8”。我该如何删除?
最后,我的所有口音都被“C”或“c”取代。然而,我设置了UTF-8。
我在Outlook和Gmail中测试过。对于Outlook和Gmail,所有这些错误都是相同的。
感谢。
我的代码:
use Zend\Mail\Message;
use Zend\Mime\Message as MimeMessage;
use Zend\Mime\Part as MimePart;
use Zend\Mail\Transport\Sendmail as SendmailTransport;
.
.
.
$message = new Message();
$bodyPart = new \Zend\Mime\Message();
$bodyMessage = new \Zend\Mime\Part($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);
答案 0 :(得分:2)
当我从我的emailTemplate中删除它并且“UTF-8”没有显示在我的电子邮件中,但我不知道为什么。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
但是我没有解决另外两个问题。我创建了一个var_dump($ message-&gt; getSubject())并且它转储正确显示我的主题。
我改变了我的代码并修复了我的所有问题,但这不是ZF2
$headers = "Content-Type: text/html; charset=\"UTF-8\"";
mail("$courrielDestinataire","$contactObject->sujet","$emailTemplate",$headers);
感谢您的帮助。
答案 1 :(得分:0)
提出您的问题
在ZF2中,主题以逗号出现两次。例如,如果一组&#34;我的 主题&#34;,Outlook或Gmail中的主题将是&#34;我的主题,我的 受试者#34;
使用默认的Zend邮件程序发送电子邮件时,主题标题会添加两次。这是因为标头是由PHP mail()函数设置的,如果服务器是Windows机器,则不会从其他标头中删除标头。这是通过问题ZF2-177修复的,但仅适用于* nix机器。