尝试以 utf-8 格式发送电子邮件,但 Content-Type 仍设置为 iso-8859-1

Posted

技术标签:

【中文标题】尝试以 utf-8 格式发送电子邮件,但 Content-Type 仍设置为 iso-8859-1【英文标题】:Trying to sent e-mail in utf-8 format, however Content-Type is still set to iso-8859-1 【发布时间】:2012-12-03 01:00:31 【问题描述】:

我要疯了,这是我用来发送电子邮件的代码 utf-8 编码,但是当我收到邮件时,它使用 utf-8 字符,但标题设置为 iso-8859- 1 个字符。

    phpMailer 的问题吗? 这可能是 smtp 服务器“覆盖”这些标头的问题吗?

    有什么解决办法吗?

    连接(); $mail=新 PHPMailer(); $mail->字符集 = $ENCODING_TYPE; $mail->ContentType="text/html; charset=".$ENCODING_TYPE; $mail->IsSMTP(); $mail->主机=SMTP_HOST; $mail->发件人=SITE_MAIL; $mail->FromName=mb_convert_encoding(SITE_MAIL_NAME, $ENCODING_TYPE, "auto"); $mail->Subject=html_entity_decode(stripslashes($title), ENT_COMPAT, $ENCODING_TYPE); $身体=''。 stripslashes($title).''; $body.="".'

    '.html_entity_decode(stripslashes($title), ENT_COMPAT, $ENCODING_TYPE).'

    '.mb_convert_encoding(stripslashes($mail_body), $ENCODING_TYPE, "auto")."".html_entity_decode(stripslashes($author), ENT_COMPAT, $ENCODING_TYPE)."" ; $body.="------------------------------------------" ."FooterText"."电话 - 传真 06.32.16.059

    "; $mail->IsHTML(true); $mail->MsgHTML($body); $mail->AltBody="Usare un visualizzatore di html-mail per visualizzare questa e-mail"; // $lemails=$tsql->QueryAssoc("SELECT * FROM utenti WHERE '1' AND prog_per_email='1' AND email!='' ORDER BY cognome ASC"); $lemails=数组( 大批( "电子邮件" => "我的电子邮件@test.com", “认知” => “我”, “名字” => “是” ) ); $mails_sent = 0; $mails_total = 0; foreach ($lemails as $to) $mail->AddAddress($to["email"],$to["cognome"]." ".$to["nome"]); if ($mail->Send()) ++$mails_sent; ++$mails_total; $mail->清除地址(); return "Inoltrate ".$mails_sent." su ".$mails_total." contatti trovati"; ?>

我不知道为什么代码显示为 html 并且有所有这些格式问题,在这里你可以看到粘贴版本:

http://pastie.org/5533692

请注意,我在 16 岁时编写了此代码,我希望避免完全重写(嗯,此函数可以重写)。

【问题讨论】:

尝试 $mail->CharSet=$ENCODING_TYPE;而不是 $mail->Charset "what the ...",谢谢,我不敢相信我为此浪费了 2 个小时...我认为这是我的错,因为我没有报告错误。如果你把它作为答案,我可以标记它。 我以前也遇到过同样的问题 :) thnks 【参考方案1】:

尝试$mail->CharSet=$ENCODING_TYPE; 而不是$mail->Charset=$ENCODING_TYPE;

【讨论】:

以上是关于尝试以 utf-8 格式发送电子邮件,但 Content-Type 仍设置为 iso-8859-1的主要内容,如果未能解决你的问题,请参考以下文章

[使用mailx发送邮件时的输出格式

尝试创建服务以发送邮件但出现错误

宽字节UTF-8多字节互转

访问 VBA 以表格格式将查询结果发送到 Outlook 电子邮件

77发送邮件和微信

Word邮件合并不能发送HTML格式以及怎么带附件?