我试图从简单的文本文件中获取地址,因此不理解代码的人仍然可以添加/删除或更改地址。
当我正常设置地址时,Phpmailer工作正常,直接在代码中编写,甚至使用数组和foreach。
所以目前我有这个:
mail.php:
//all phpmailer settings on $mail var
$addresses = file('mail.txt', FILE_IGNORE_NEW_LINES);
foreach($addresses as $email) {
echo "$email<br>";
$mail->addAddress($email);
}
mail.txt:
'first@address.com'
'second@address.fr'
echo确实返回两个地址,但var似乎不能在addAddress()行中工作,我得到通常的错误: 邮件程序错误:您必须至少提供一个收件人电子邮件地址。
感谢您纠正我,如果我错了,或者您知道任何其他可行的解决方案!
好的,这是在Waqas Shahid的帮助下纠正的工作代码:
mail.php:
//all phpmailer settings on $mail var
$addresses = file('mail.txt', FILE_IGNORE_NEW_LINES);
foreach($addresses as $email) {
$email = trim($email);
$change = array('\n', '\t', '\r');
$email = str_replace($change, "", $email);
$mail->addAddress($email);
}
mail.txt:
first@address.com
second@address.fr
答案 0 :(得分:0)
您应首先删除单引号,然后逐行获取值并使用trim()
删除空格,然后使用str_replace()
删除'\ n','\ t','\ r'