PHP mail()头文件,两个头文件问题

时间:2011-08-11 13:29:08

标签: php email

这可能是一个愚蠢的问题,但如果我将$to = ''留在mail($to,...)并将$to放到邮件标题'to' => '<some@mail.address>',可能会导致此效果(两个'到'标题)?:

To:
Subject: 123
From: <>
To: <some@mail.address>

2 个答案:

答案 0 :(得分:2)

从来没有真正费心去查看mail()到目前为止的行为,只是破解了Wireshark并试了几件事,结果就是这样:


测试1

消息发送; To:标题出现在From:

之前
mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld");

的Test2

消息发送; To:标题出现在From:

之后
mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld");

测试3

消息不会发送; PHP尝试这样做但不发送RCPT命令,只是直接跳到DATA,这是一个协议违规,所以服务器告诉PHP消失。

mail('','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld");

测试4

消息发送; To:标题按From>:

之后在$ additional_headers中指定的顺序显示
mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld\r\nTo: person.c@domain.tld");

测试5

消息发送; To:标题出现在From:之后,并具有$ additional_headers

中指定的值
mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.c@domain.tld");

因此,$ additional_headers中指定的To:标头似乎会覆盖PHP自动生成的$ to,但除非您在$中明确设置它们,否则永远不会获得多个To:标头。 additional_headers。

在PHP 5.2.17 / win32上测试

答案 1 :(得分:0)

您可以拥有多个to地址,如果这是您的意思:

mail('test@example.com;example@test.com',...);