将php邮件发送到csv列表
我正在尝试编写一个简单的脚本,将邮件发送到.csv电子邮件地址列表,如下所示:将php邮件发送到csv列表,csv,php,fgetcsv,Csv,Php,Fgetcsv,我正在尝试编写一个简单的脚本,将邮件发送到.csv电子邮件地址列表,如下所示: mail1@mail.com, mail2@mail.com, mail3@mail.com, 以下是我尝试过的: <? $csv = array(); $file = fopen('test.csv', 'r'); while (($result = fgetcsv($file)) !== false){ $csv[] = $result; $to = $result[0];
mail1@mail.com,
mail2@mail.com,
mail3@mail.com,
以下是我尝试过的:
<?
$csv = array();
$file = fopen('test.csv', 'r');
while (($result = fgetcsv($file)) !== false){
$csv[] = $result;
$to = $result[0];
$subject = "My mail subject";
$message .= '<html><body>';
$message .= 'My message here';
$message .= "</body></html>";
$from = "example@example.com";
$headers = "From: " . $from . "\r\n";
$headers .= "Reply-To: ". $from . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
mail($to, $subject, $message, $headers);
}
fclose($file);
?>
但是消息被发送三次,并且在正文中包含消息三次。如何使消息只包含在其中并发送到每行一次?您应该从while循环中删除$subject、$message、$from和$headers定义。在while之前和中定义所有参数,仅定义$to字段并保留mail()命令。遵循上述建议(好方法)或简单地删除连接运算符“.”将第一个赋值形式转换为变量$message,即更改
$message .= '<html><body>'; TO
$message = '<html><body>';
$message.='';到
$message='';
啊,太简单了!非常感谢。“上述建议”是指Lelio Faieta提供的建议