繁体   English   中英

拉米纳斯邮件。 作为 UFT8 发送

[英]Laminas-mail. send as UFT8

我使用 Laminas(前 Zendframework 3)。 我想用 Laminas-Mail 发送邮件。 我不知道如何更改Content-Type 目前它是Content-Type: text/html但我想发送 UTF8 邮件,因此我想使用Content-Type: text/html; charset=utf-8 Content-Type: text/html; charset=utf-8

我试图改变$html->type但我失败了。

use Laminas\Mail;
use Laminas\Mail\Transport\Smtp as SmtpTransport;
use Laminas\Mail\Transport\SmtpOptions;
use Laminas\Mime\Message as MimeMessage;
use Laminas\Mime\Part as MimePart;

# ...
# much code
# ...

// Produce HTML
$bodyHtml = $this->viewRenderer->render('mymodule/email/email1');
$html = new MimePart($bodyHtml);
$html->type = "text/html; charset=utf-8"; #Seems not to work
$body = new MimeMessage();
$body->addPart($html);
$mail = new Mail\Message();
$mail->setEncoding('UTF-8');
$mail->setBody($body);
$mail->setFrom('bobafit@example.com','Boba Fit');
$mail->addTo('bobafit@example.com','Boba Fit');
$mail->setSubject('Thank you for reading my Question');
// Setup SMTP transport
$transport = new SmtpTransport();
$options   = new SmtpOptions($this->config['smtp']);
$transport->setOptions($options);
$transport->send($mail);

请查看官方 Dok:

https://docs.laminas.dev/laminas-mail/message/attachments/

类型和字符集是分开定义的。

您可能正在寻找类似的东西:

$html = new MimePart($htmlMarkup);
$html->type = Mime::TYPE_HTML;
$html->charset = 'utf-8';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM