1

ユーザー名、メールアドレス、PIN番号を保持する長いExcelリストがあります。$name「親愛なる、あなたのPINは」のような自動メールを生成し、Excelファイルから変数が取得される場所に送信したいと思います。(3つの列があります$pin$mail$name$mail$pin

誰かアイデアやサンプルコードを教えてもらえますか?

賞金のために編集 これが私のcsvファイルのスクリーン印刷です。csvファイルから2次元配列としてデータを読み取り、電子メールに入力したいと思います。

私のcsvファイル

4

4 に答える 4

11

これが最良のオプションです:

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.

アドバンテージ :

  1. 外部ライブラリやプラグインは必要ありません
  2. 簡単なコーディング (DB からのデータの取得とメール送信)

もう 1 つのオプションは、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);

    }
}
于 2013-03-06T08:56:03.913 に答える
3

まず、大規模な PHP ライブラリの使用を気にしないのであれば、私は間違いなく PHPExcel ( http://phpexcel.codeplex.com ) に投票します。Excel ファイルを行ごとに解析して、ユーザー情報を取得できます。

次に、大規模なデータベースがある場合は、メールの送信にSendGrid ( http://sendgrid.com ) を検討する必要があります。それらには、すべての受信メール クライアントに最適なヘッダー構成があります。

幸運を!

于 2013-03-13T08:38:05.943 に答える
2

このパッケージを使用すると、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 関数を使用します。

于 2013-03-06T09:00:05.920 に答える
0

これは PHP ソリューションではありませんが、これは 1 回限りの必要性であるため、独自のソリューションを作成しても意味がありません。もっと簡単なものを試してみるのもいいかもしれません。

私は最近、自分のメール サーバーを自分の gmail アカウントに (エイリアスとして) リンクし、人々が作成した多くの利用可能な差し込み印刷プログラムの 1 つを利用しました。次のように簡単です。

  1. $%Name% や $%PIN% などのプレースホルダー値を使用して電子メールを作成し、下書きとして保存します。
  2. Google ドライブで差し込み印刷スプレッドシートを開き、ソース データを貼り付けて、[実行] をクリックします。

また、 xsMerge chrome アプリなど、パッケージ化された無料のメール マージ ソリューションをいくつでも試すことができます。

于 2013-03-12T17:17:18.817 に答える