PHP邮件不能使用"to"变量,但当电子邮件作为字符串写入时有效


PHP mail not working with "to" variable but works when emails are written as a string

我想从数据库中向用户列表发送一封电子邮件。

这是不工作:

$to = 'mail1@domain.com,mail2@domain.com';
mail($to,$subject,$content,$headers);

但这是有效的:

mail('mail1@domain.com,mail2@domain.com',$subject,$content,$headers);

我不知道我做错了什么。谢谢你的帮助。

最有可能的问题是您的标题没有使用换行代码或使用它们不正确。正确的用法是"'r'n"加双引号。来源:http://php.net/manual/en/function.mail.php参见例#4发送HTML电子邮件。我怀疑电子邮件地址之间的空间是否重要,但也许为了100%符合RFC,你必须有那个空间。

该字符串的格式必须符合»RFC 2822。一些例子:

user@example.com 
user@example.com, anotheruser@example.com 
User <user@example.com> 
User <user@example.com>, Another User <anotheruser@example.com>