PHP将邮件发送到Excel列表

PHP将邮件发送到Excel列表,php,phpexcel,Php,Phpexcel,我有一个很长的Excel列表,其中包含用户名、邮件地址和PIN码。我想生成一封自动邮件,如“亲爱的$name,您的PIN是$PIN”并发送到$mail,其中$name,$mail,和$PIN变量将来自excel文件..(有三列) 任何人都可以分享一些想法或示例代码吗 编辑悬赏 这是我的csv文件的屏幕打印。我想从csv文件中读取二维数组数据,并填充电子邮件 这里是最好的选择: 1. convert Excel to CSV 2. Import CSV to database 3. Fetch t

我有一个很长的Excel列表,其中包含用户名、邮件地址和PIN码。我想生成一封自动邮件,如“亲爱的
$name
,您的PIN是
$PIN
”并发送到
$mail
,其中
$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并发送邮件

    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字段名对其进行编辑

    $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);
    
        }
    }
    
    $row=1;
    if($handle=fopen(“test.csv”、“r”)!==FALSE){
    while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
    $num=计数($data);
    echo“$num字段位于第$row行:

    \n”; $row++; $to=$data[2];//根据问题中显示的CSV。 $subject='您的主题'; $message='您的邮件内容'; $headers='来自:webmaster@example.com“。”\r\n”。 答复:webmaster@example.com“。”\r\n”。 'X-Mailer:PHP/'.phpversion(); 邮件($to、$subject、$message、$headers); } }
    这里是最好的选择

    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并发送邮件

    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字段名对其进行编辑

    $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);
    
        }
    }
    
    $row=1;
    if($handle=fopen(“test.csv”、“r”)!==FALSE){
    while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
    $num=计数($data);
    echo“$num字段位于第$row行:

    \n”; $row++; $to=$data[2];//根据问题中显示的CSV。 $subject='您的主题'; $message='您的邮件内容'; $headers='来自:webmaster@example.com“。”\r\n”。 答复:webmaster@example.com“。”\r\n”。 'X-Mailer:PHP/'.phpversion(); 邮件($to、$subject、$message、$headers); } }
    使用此软件包,您可以阅读XLS文件:(使用简单,并且有很多示例)。 它将XLS文件解析为关联数组。 在此之后,您可以运行整个数组,从中获取所需的数据,并将参数传递给邮件函数。(但我建议不要使用普通邮件功能,而是使用phpMailer,)


    正如另一位评论员所说,您可以将XLS文件转换为csv。在本例中,请使用PHP的fgetcsv函数。

    使用此软件包,您可以读取XLS文件:(使用简单,示例很多)。 它将XLS文件解析为关联数组。 在此之后,您可以运行整个数组,从中获取所需的数据,并将参数传递给邮件函数。(但我建议不要使用普通邮件功能,而是使用phpMailer,)


    正如另一位评论员所说,您可以将XLS文件转换为csv。在本例中,请使用PHP的fgetcsv函数。

    这不是一个PHP解决方案,但由于这是一次性需求,因此没有必要使用您自己的解决方案。你可能想试试更简单的

    我最近将我的邮件服务器连接到我的gmail帐户(作为别名),并利用了人们制作的许多可用程序中的一个。简单到:

  • 创建带有占位符值(如$%Name%和$%PIN%)的电子邮件,并将其保存为草稿
  • 在google drive中打开邮件合并电子表格,粘贴源数据,然后单击运行

  • 您还可以尝试任意数量的免费打包邮件合并解决方案,如chrome应用程序。

    这不是PHP解决方案,但由于这是一次性需求,因此没有必要推出您自己的解决方案。你可能想试试更简单的

    我最近将我的邮件服务器连接到我的gmail帐户(作为别名),并利用了人们制作的许多可用程序中的一个。简单到:

  • 创建带有占位符值(如$%Name%和$%PIN%)的电子邮件,并将其保存为草稿
  • 在google drive中打开邮件合并电子表格,粘贴源数据,然后单击运行

  • 您还可以尝试任意数量的免费打包邮件合并解决方案,如chrome应用程序。

    首先,如果您不介意使用大型PHP库,我肯定会投票支持PHPExcel()。您可以逐行分析excel文件以获取用户信息

    第二,如果你有一个大的数据库,你应该考虑sEdGrand()来发送邮件。它们的头配置对于所有接收邮件的客户端都是最佳的


    祝你好运

    首先,如果您不介意使用大型PHP库,我肯定会投票支持PHPExcel()。您可以逐行分析excel文件以获取用户信息

    第二,如果你有一个大的数据库,你应该考虑sEdGrand()来发送邮件。它们的头配置对于所有接收邮件的客户端都是最佳的


    祝你好运

    你有什么特别的问题吗?这是一次性的,还是您需要定期运行的,还是“按需”的?我没有尝试任何代码。我只会使用它一次,一个朋友有一个很长的链接,一个接一个地发送这些邮件需要几天的时间,所以我想填充一个自动邮件