1

これは、添付ファイル付きの電子メールを送信するために使用しているコード スニペットですが、機能していません。取得している出力には、大量のハッシュコードが含まれています (そう思います)。screenshot.rar を添付ファイルとして送信するにはどうすればよいですか?

<?php

      $to = "abc@gmail.com";

      $subject = "A test email";

      $random_hash = md5(date('r', time()));

      $headers = "From: xyz@gmail.com\r\n";

      $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";

      $attachment = chunk_split(base64_encode(file_get_contents("screenshot.rar")));

      $output = "
      --PHP-mixed-$random_hash
      Content-Type: multipart/alternative; boundary='PHP-alt-$random_hash'
      --PHP-alt-$random_hash
      Content-Type: text/plain; charset='iso-8859-1'
      Content-Transfer-Encoding: 7bit

      Hello World!
      This is the simple text version of the email message.

      --PHP-alt-$random_hash
      Content-Type: text/html; charset='iso-8859-1'
      Content-Transfer-Encoding: 7bit

      <h2>Hello World!</h2>
      <p>This is the <b>HTML</b> version of the email message.</p>

      --PHP-alt-$random_hash--

      --PHP-mixed-$random_hash
      Content-Type: application/zip; name=screenshot.rar
      Content-Transfer-Encoding: base64
      Content-Disposition: attachment

      $attachment
      --PHP-mixed-$random_hash--";

      echo @mail($to, $subject, $output, $headers);

    ?>
4

2 に答える 2

0

Zend_Mailライブラリはこれに最適です。ライブラリは正確に書かれているので、あなたの状況にある人々はこれらのパッケージを最初から作成する必要はなく、それらを利用してください。

ドキュメントは非常に優れており (上記のリンク)、Zend Framework をダウンロードinclude_filesして php.ini に含めるだけです。

于 2013-04-20T16:05:01.257 に答える