发送邮件在“收件人:”电子邮件列表中的第995个字符处插入一个随机空格

问题描述 投票:2回答:2

我正在使用php的mail()函数将电子邮件发送给多个接收者。

如果我输入“邮件”功能的第一个参数,例如“ example1 @ example.com,example2 @ example.com,example3 @ example.com,example4 @ example.com,example5 @ example.com,example6 @ example.com ........“包含1000多个字符的字符串,当我收到电子邮件时,我看到在第995个字符处插入了一个”(空白)“,无论电子邮件是什么在那个位置坏了。

我读这是因为邮件服务器不接受很长的字符串,因此您应该在每70个左右的字符处插入一个“ \ n”。因此,我尝试使用应该插入换行符的wordwrap($ emailList)。

不幸的是,这不能解决我的问题,我现在的想法已经用完了。

php string email character line-breaks
2个回答
0
投票

最后,我能够像这样解决这个问题:我在$ strTo变量中列出了该变量,该变量包含诸如“ email1,email2,email3,email4,...”之类的电子邮件,每个电子邮件之间用“,”分隔。

在执行mail()函数之前,我已经这样做了:

if($strTo != ""){
    $strTo = wordwrap($strTo,900,"\r\n ");
    $strTo .= "\r\n";
}

[这意味着我在每900个字符中插入回车符,新行和空白(不打断任何单词),最后,在字符串的末尾插入回车符和换行符。


0
投票

自动换行对我不起作用。我想这取决于您的邮件服务器是否接受它。同样在我的情况下,每第998个字符出现一次折痕。我能够在邮件标题中使用多个“收件人:”字段来解决。 e.g。

header = <<EOF
From: [email protected]
To: [email protected], [email protected], [email protected], [email protected]
CC: [email protected]
Subject: 'my subject'
EOF

使用array.each_slice(20)构造了多个20个数组。然后形成标题,以便

header = <<EOF
From: [email protected]
To: [email protected], [email protected], [email protected], [email protected]
To: [email protected], [email protected], [email protected], [email protected]
To: [email protected], [email protected], [email protected], [email protected]
CC: [email protected]
Subject: 'my subject'
EOF

我的邮件服务器很荣幸。

© www.soinside.com 2019 - 2024. All rights reserved.