Swift邮件发件人姓名与法国字符

时间:2010-11-09 18:20:54

标签: php hotmail swiftmailer massmail

我正在构建一个发送批量电子邮件的系统。到目前为止,在逐个发送电子邮件的同时,我尝试了所有邮件服务(微软交换机,gmail,雅虎),但只有一个,hotmail。

当我通过任何服务(前一个文本块中的括号中的3)发送电子邮件时,发件人名称如下所示:

Système automatisé de l'École de langues de l'Université Laval

但是在hotmail中,我得到的输出看起来像是:

=?8bit?Q?Syst=C3=A8me_automatis=C3=A9?= de =?8bit?Q?l=27=C3=89cole?= de langues de =?8bit?Q?l=27Universit=C3=A9?= Laval"

而且我无法打开电子邮件。

这里有更多输入,是hotmail收到的标题

X-Message-Delivery: Vj0xLjE7dXM9MDtsPTA7YT0xO0Q9MTtTQ0w9MA==
X-Message-Status: n
X-SID-PRA: =?8bit?Q?Syst=C3=A8me_automatis=C3=A9?= de =?8bit?Q?l=27=C3=89cole?= de langues de =?8bit?Q?l=27Universit=C3=A9?= Laval <elulnoreply@elul.ulaval.ca>
X-AUTH-Result: NONE
X-Message-Info: JGTYoYF78jE7aK1HQZaqWIRunRfMfh0RYwMH1I+TP7tPRAKNtqkSXOBYZEFyjTXXcgHIqT9rVaWhceALG7uqHpX/Pl1pQfak+BqRLhvdGCY=
Received: from server.com ([###.###.###.###]) by snt0-mc2-f38.Snt0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675);
     Tue, 9 Nov 2010 10:13:43 -0800
Received: from otherServer.com ([###.###.###.###])
  by server.com with ESMTP; 09 Nov 2010 13:13:42 -0500
Received: from aServer.com (###.###.###.###) by otherServer.com
 (###.###.###.###) with Microsoft SMTP Server id 8.2.176.0; Tue, 9 Nov 2010
 13:13:42 -0500
Message-ID: <1289326422.4cd98f56259d8@gestion.local>
Date: Tue, 9 Nov 2010 13:13:42 -0500
Subject: Convocation au test de classement pour la session d'hiver 2011
From: "=?8bit?Q?Syst=C3=A8me_automatis=C3=A9?= de =?8bit?Q?l=27=C3=89cole?=
 de langues de =?8bit?Q?l=27Universit=C3=A9?= Laval"
    <******@******.***>
To: <******@hotmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
    boundary="_=_swift_v4_12893264224cd98f5629b03_=_"
Return-Path: ******@******.***
X-OriginalArrivalTime: 09 Nov 2010 18:13:43.0330 (UTC) FILETIME=[D7DD8020:01CB8039]
--_=_swift_v4_12893264224cd98f5629b03_=_ 
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

电子邮件和服务器地址已被混淆。

当我将字符集更改为UTF-8时,这个问题就开始了,我必须使用它来支持重音字符。

编辑:

最后,我选择将法语字符放在FromName部分中,并使用标准字符对所有内容进行标准化,因为é现在是e等等。

2 个答案:

答案 0 :(得分:1)

尝试对您的标题(FromName,Subject等)进行编码,如下所示:

"=?utf-8?B?" . base64_encode($string) . "?="

基于RFC 1342和2047:

根据StackOverflow改编的答案:PHP Mail: Sending ÅÄÖ characters?

和此博客:http://snook.ca/archives/servers/encoding_accent

答案 1 :(得分:0)

您是否考虑过以HTML格式发送电子邮件?自从我做PHP以来已经有一段时间,但函数应该是HTMLEntities