这可能是一个愚蠢的问题,但如果我将$to = ''
留在mail($to,...)
并将$to
放到邮件标题'to' => '<some@mail.address>'
,可能会导致此效果(两个'到'标题)?:
To:
Subject: 123
From: <>
To: <some@mail.address>
答案 0 :(得分:2)
从来没有真正费心去查看mail()到目前为止的行为,只是破解了Wireshark并试了几件事,结果就是这样:
消息发送; To:标题出现在From:
之前mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld");
消息发送; To:标题出现在From:
之后mail('person.a@domain.tld','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld");
消息不会发送; PHP尝试这样做但不发送RCPT命令,只是直接跳到DATA,这是一个协议违规,所以服务器告诉PHP消失。
mail('','Subject','Body',"From: person.b@domain.tld\r\nTo: person.a@domain.tld");
消息发送; 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");
消息发送; 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',...);