我有一个很长的 Excel 列表,其中包含用户名、邮件地址和 PIN 码。我想生成一个自动邮件,如“亲爱$name
的,你的 PIN 码是$pin
”并发送到$mail
where $name
,$mail
和$pin
变量将来自一个 excel 文件..(有三列)
任何人都可以分享任何想法或示例代码吗?
编辑赏金 这是我的 csv 文件的屏幕打印。我想从 csv 文件中读取数据作为二维数组并填充电子邮件。
这是最好的选择:
1. convert Excel to CSV
2. Import CSV to database
3. Fetch the contents of database to your php page.
4. Loop your contents and send mail.
优势 :
另一种选择是读取 csv 并发送邮件:
这是从 CSV 读取数据并发送邮件的代码:这只是一个示例代码,您可以根据您的要求和 csv 字段名称对其进行编辑。
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
$to = $data[2]; // as per your CSV shown in question.
$subject = 'Your subject';
$message = 'Your mail content';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
}
}
首先,如果您不介意使用大型 PHP 库,我肯定会投票支持 PHPExcel ( http://phpexcel.codeplex.com )。您可以逐行解析excel文件以获取用户信息。
其次,如果您有一个大型数据库,您应该考虑使用 SendGrid ( http://sendgrid.com ) 来发送邮件。它们具有最适合所有接收邮件客户端的标头配置。
祝你好运!
使用此软件包,您可以阅读 XLS 文件:http ://code.google.com/p/php-excel-reader/ (使用简单,示例很多)。它将 XLS 文件解析为关联数组。在此之后,您可以遍历数组,从中获取您需要的数据,并将参数传递给邮件函数。(但我建议不要使用普通的邮件功能,而是使用phpMailer,http ://phpmailer.worxware.com/ )
正如另一位评论者所说,您可以将 XLS 文件转换为 csv。在这种情况下,请使用 PHP http://php.net/manual/en/function.fgetcsv.php的 fgetcsv 函数。