0

私は最終日、顧客が私たちのサイトから何かを購入したときにPDFレシートを作成するスクリプトを作成するのに費やしました。PDFが作成されたら、ob_get_clean()を使用して出力を変数に保存します

次に、この変数をbase64_encoded文字列にします。それが終わったら、文字列をデータベースに保存します。さて、その後私がやりたいのは、文字列を取得し、何らかの方法でそれを電子メールの添付ファイルとして保存して、ユーザーがファイルとしてダウンロードできるようにすることです。私はグーグルを試しましたが、本当に役立つものは何も見つかりませんでした。

このスレッドを見つけましたが、Codeigniterの電子メールライブラリで確認できる限り(見逃した可能性があります)、要求された関数は実装されていませんでした。ただし、これがリクエストです。Eメールクラス:文字列から添付ファイルを追加します

4

2 に答える 2

2

独自のライブラリを作成し、php メール関数と適切なヘッダーを使用してメールを送信できます。

function send_email($to, $from, $subject, $body, $attachment_string)
{

$filename = "receipt.pdf";
$uid = md5(uniqid(time())); 
$attachment=chunk_split($attachment_string);

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$headers .= "From: <".$from.">\r\n";
$headers .= "This is a multi-part message in MIME format.\r\n";
$headers .= "--".$uid."\r\n";
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$headers .= $body."\r\n\r\n";
$headers .= "--".$uid."\r\n";
$headers .= "Content-Type: application/pdf; name=\"".basename($filename)."\"\r\n"; // use different content types here
$headers .= "Content-Transfer-Encoding: base64\r\n";
$headers .= "Content-Disposition: attachment; filename=\"".basename($filename)."\"\r\n\r\n";
$headers .= $attachment."\r\n\r\n";
$headers .= "--".$uid."--";

if(mail($to, $subject, $body, $headers))
{
    echo "success";
}

}
于 2012-05-09T09:50:32.773 に答える