尝试以 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的主要内容,如果未能解决你的问题,请参考以下文章