0

tcpdf 関数を使用して PDF を作成しました。それをメールに添付して送信したいと考えています。PDFの作成の最後に次のコーディングを使用しました。ただし、一部のサーバーでは機能しますが、他のサーバーでは機能しません

$from = "manikandan@niral.us";
        $subject = "test";
        $message = $_REQUEST['msg'];


        // a random hash will be necessary to send mixed content
        $separator = md5(time());

        // carriage return type (we use a PHP end of line constant)
        $eol = PHP_EOL;
         // $eol = "\r\n";
        // attachment name
        $filename = "Yourinvices.pdf";

        // encode data (puts attachment in proper format)
        $pdfdoc = $pdf->Output('Patient'.$invnumserial.'.pdf', 'S');
        $attachment = chunk_split(base64_encode($pdfdoc)); 

        // encode data (multipart mandatory)
        $headers = "From: ".$from.$eol;
        $headers .= "MIME-Version: 1.0".$eol;
        $headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
        $headers .= "Content-Transfer-Enconding: 7bit".$eol;
        $headers .= "This is a MIME encoded message.".$eol.$eol;

        // message
        $headers .= "--".$separator.$eol;
        $headers .= "Content-Type: text/html; charsrt=\"iso-8859-1\"".$eol;
        $headers .= $message.$eol.$eol;

        // attachment
        $headers .= "--".$separator.$eol;
        $headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol;
        //$headers .= "Content-Type: application/zip; name=\"".$filename."\"".$eol;
        $headers .= "Content-Transfer-Encoding: base64".$eol;
        $headers .= "Content-Disposition: attachment".$eol.$eol;
        $headers .= $attachment.$eol.$eol;
        $headers .= "--".$separator."--";

        // send message
       if(@mail($to, $subject, $message, $headers))
       {

         Redirect("../../patient_invoicelist.php?msg=1");   
      }

       else Redirect("../../patient_invoicelist.php?msg=2");   
4

1 に答える 1

0

を使用PHPMailerして送信しますEmails with Attachments。このライブラリを使用すると、添付ファイル付きの電子メールを非常に簡単に送信できます。このリンクからライブラリを

ダウンロードします。PHPMailerこのクラスを使用する例もあります。

http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/PHPMailer%20v5.1/

$mail->SetFrom('noreply@test.com', 'test');
$mail->Subject    = $subject;
$mail->AddAttachment($Pdf_path_here);
$mail->MsgHTML($body);
$mail->AddAddress($to, "");

if(!$mail->Send()) 
{
   echo "sent";
} 
else 
{
   echo "error";
}
于 2013-03-05T08:21:50.513 に答える