2010-06-19 54 views
1

使用PHP邮件功能时,我们是否需要使用$tofrom/cc/bcc邮件标题中的引号?

我的意思是,比方说我要发送邮件到:

User One <[email protected]> 

我一定要拨打:

mail("\"User One\" <[email protected]>", ... 

OR

mail("User One <[email protected]>", ... 

我suppoose一旦你给了我对于$to的回答,对于其他邮件标题也是如此,我通常以这种方式添加:

$mail_headers = "From: " . $from . "\r\n";  
$mail_headers .= "Cc: " . $cc . "\r\n"; 
$mail_headers .= "Bcc: " . $bcc . "\r\n"; 
$mail_headers .= "MIME-Version: 1.0\r\nContent-type: text/plain;\r\n\tcharset=\"Windows-1252\";\r\nContent-Transfer-Encoding: 8bit" . "\r\n";  
//I use "Windows-1252" charset, cause "iso-8859-1" DOES NOT DISPLAY EURO CHAR! 

mail($to, $subject, $body, $mail_headers); 

也许我需要使用引号,以防头中有单引号?我不知道有时我看到有引号的例子,没有其他时间,没有人知道,也许可以解释。

谢谢!

回答

3

如果我阅读有关RFC右:

包括比允许在原子可以在引用字符串格式,其中 的字符是由引号所包围来表示的那些 其它字符的字符串(DQUOTE ,ASCII值34) 个字符。

带引号的字符串被视为一个单元。也就是说,引用的字符串是 与原子相同,语义上。

正确的字符在包装一个字符串是双引号"(和只),但它是可选的。

但是,如果收件人姓名包含空格,我强烈建议使用它。

0

此:

mail("\"User One\" <[email protected]>", ... 

将输出:

"User One" <[email protected]> 

,而这一点:

mail("User One <[email protected]>", ... 

将输出:

User One <[email protected]> 

更新:

我没有链接到RFC,只是注意到,当您撰写与Gmail的电子邮件,它把像:

"Sarah Chafer" <[email protected]>, 

看那里的双打引号。

+0

这还没有回答问题。有一种RFC定义的方式来做到这一点,如果我没有记错,它甚至可以定义是使用单引号还是双引号。 (我也想知道这个答案。) – 2010-06-19 15:04:21

+0

@Pekka:看到这样会很有趣,但我注意到当你用gmail编写邮件时,它会像“Sarah Chafer”,'。 – Sarfraz 2010-06-19 15:06:32

+0

@Sarfraz Ahmed:我不明白你的意思,实际上如果从“\”User One \“<[email protected]>发送电子邮件到我的Outlook Express”我的Outlook Express显示在From:User One而不是“用户一”(带引号)。 – 2010-06-19 15:08:03

2

收件人必须符合RFC2822(请参阅the PHP doc for the mail function)。

由于实际收件人是介于<和>之间的内容,因此您是否使用引号并不重要 - 邮件将发送给同一个人;但他自己的电子邮件客户端可能会以不同的方式显示。

在他们做的文档中列出没有引号的例子;我也倾向于这样做。

+0

但是只是因为我这样做并不意味着它很好: -/- 佩卡可能是正确的,你应该放一些。 我可以肯定的确定唯一可以说的是:如果你把一个开盘报价,也使用一个关闭的报价。我知道,这不是太有用的建议。 – Joubarc 2010-06-19 16:22:46

+0

实际上,我只是遇到类型为'A,B <[email protected]>的地址问题,因为服务器认为逗号是两个电子邮件地址之间的分隔符,从而导致发送到“A”这是一个无效的地址;正确的格式似乎是“A,B”<[email protected]>。可能相关:https://www.addedbytes.com/blog/code/email-address-validation/和http://stackoverflow.com/questions/12008720/what-are-special-characters-in-e-mail-头和-时使用的引号 – sdaau 2015-07-07 02:13:25