PHPMailer从文件

时间:2016-05-25 10:18:24

标签: php email phpmailer mailer

我试图从简单的文本文件中获取地址,因此不理解代码的人仍然可以添加/删除或更改地址。

当我正常设置地址时,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

1 个答案:

答案 0 :(得分:0)

您应首先删除单引号,然后逐行获取值并使用trim()删除空格,然后使用str_replace()删除'\ n','\ t','\ r'