Heim > Backend-Entwicklung > PHP-Tutorial > php 发送带附件邮件的实现代码_PHP教程

php 发送带附件邮件的实现代码_PHP教程

WBOY
Freigeben: 2016-07-13 10:39:40
Original
1093 Leute haben es durchsucht

1,emailclass.php

<? 
<span class</span><span  CMailFile {

</span><span var</span> <span $subject</span><span ; 
</span><span var</span> <span $addr_to</span><span ; 
</span><span var</span> <span $text_body</span><span ; 
</span><span var</span> <span $text_encoded</span><span ; 
</span><span var</span> <span $mime_headers</span><span ; 
</span><span var</span> <span $mime_boundary</span> = "--==================_846811060==_"<span ; 
</span><span var</span> <span $smtp_headers</span><span ;

</span><span function</span> CMailFile(<span $subject</span>,<span $to</span>,<span $from</span>,<span $msg</span>,<span $filename</span>,<span $downfilename</span>,<span $mimetype</span> = "application/octet-stream",<span $mime_filename</span> = <span false</span><span ) { 
</span><span $this</span>->subject = <span $subject</span><span ; 
</span><span $this</span>->addr_to = <span $to</span><span ; 
</span><span $this</span>->smtp_headers = <span $this</span>->write_smtpheaders(<span $from</span><span ); 
</span><span $this</span>->text_body = <span $this</span>->write_body(<span $msg</span><span ); 
</span><span $this</span>->text_encoded = <span $this</span>->attach_file(<span $filename</span>,<span $downfilename</span>,<span $mimetype</span>,<span $mime_filename</span><span ); 
</span><span $this</span>->mime_headers = <span $this</span>->write_mimeheaders(<span $filename</span>, <span $mime_filename</span><span ); 
}

</span><span function</span> attach_file(<span $filename</span>,<span $downfilename</span>,<span $mimetype</span>,<span $mime_filename</span><span ) { 
</span><span $encoded</span> = <span $this</span>->encode_file(<span $filename</span><span ); 
</span><span if</span> (<span $mime_filename</span>) <span $filename</span> = <span $mime_filename</span><span ; 
</span><span $out</span> = "--" . <span $this</span>->mime_boundary . "\n"<span ; 
</span><span $out</span> = <span $out</span> . "Content-type: " . <span $mimetype</span> . "; name=\"<span $filename</span>\";\n"<span ; 
</span><span $out</span> = <span $out</span> . "Content-Transfer-Encoding: base64\n"<span ; 
</span><span $out</span> = <span $out</span> . "Content-disposition: attachment; filename=\"<span $downfilename</span>\"\n\n"<span ; 
</span><span $out</span> = <span $out</span> . <span $encoded</span> . "\n"<span ; 
</span><span $out</span> = <span $out</span> . "--" . <span $this</span>->mime_boundary . "--" . "\n"<span ; 
</span><span return</span> <span $out</span><span ; 
}

</span><span function</span> encode_file(<span $sourcefile</span><span ) { 
</span><span if</span> (<span is_readable</span>(<span $sourcefile</span><span )) { 
</span><span $fd</span> = <span fopen</span>(<span $sourcefile</span>, "r"<span ); 
</span><span $contents</span> = <span fread</span>(<span $fd</span>, <span filesize</span>(<span $sourcefile</span><span )); 
</span><span $encoded</span> = <span chunk_split</span>(<span base64_encode</span>(<span $contents</span><span )); 
</span><span fclose</span>(<span $fd</span><span ); 
} 
</span><span return</span> <span $encoded</span><span ; 
}

</span><span function</span><span  sendfile() { 
</span><span $headers</span> = <span $this</span>->smtp_headers . <span $this</span>-><span mime_headers; 
</span><span $message</span> = <span $this</span>->text_body . <span $this</span>-><span text_encoded; 
</span><span mail</span>(<span $this</span>->addr_to,<span $this</span>->subject,<span $message</span>,<span $headers</span><span ); 
} www</span>.jbxue.<span com

</span><span function</span> write_body(<span $msgtext</span><span ) { 
</span><span $out</span> = "--" . <span $this</span>->mime_boundary . "\n"<span ; 
</span><span $out</span> = <span $out</span> . "Content-Type: text/plain; charset=\"us-ascii\"\n\n"<span ; 
</span><span $out</span> = <span $out</span> . <span $msgtext</span> . "\n"<span ; 
</span><span return</span> <span $out</span><span ; 
}

</span><span function</span> write_mimeheaders(<span $filename</span>, <span $mime_filename</span><span ) { 
</span><span if</span> (<span $mime_filename</span>) <span $filename</span> = <span $mime_filename</span><span ; 
</span><span $out</span> = "MIME-version: 1.0\n"<span ; 
</span><span $out</span> = <span $out</span> . "Content-type: multipart/mixed; "<span ; 
</span><span $out</span> = <span $out</span> . "boundary=\"<span $this</span>->mime_boundary\"\n"<span ; 
</span><span $out</span> = <span $out</span> . "Content-transfer-encoding: 7BIT\n"<span ; 
</span><span $out</span> = <span $out</span> . "X-attachments: <span $filename</span>;\n\n"<span ; 
</span><span return</span> <span $out</span><span ; 
}

</span><span function</span> write_smtpheaders(<span $addr_from</span><span ) { 
</span><span $out</span> = "From: <span $addr_from</span>\n"<span ; 
</span><span $out</span> = <span $out</span> . "Reply-To: <span $addr_from</span>\n"<span ; 
</span><span $out</span> = <span $out</span> . "X-Mailer: PHP3\n"<span ; 
</span><span $out</span> = <span $out</span> . "X-Sender: <span $addr_from</span>\n"<span ; 
</span><span return</span> <span $out</span><span ; 
} 
}

</span><span /*</span><span 用法 - 例如:mimetype 为 "image/gif" 
$mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$mimetype); 
$mailfile->sendfile();

$subject -- 主题 
$sendto -- 收信人地址 
$replyto -- 回复地址 
$message -- 信件内容 
$filename -- 附件文件名 
$downfilename -- 下載的文件名 
$mimetype -- mime类型 
</span><span */</span> 
?>
Nach dem Login kopieren

<?<span php 
</span><span require_once</span>('emailclass.php'<span );

</span><span //</span><span 发送邮件

//主題 </span>
<span $subject</span> = "test send email"<span ;

</span><span //</span><span 收件人 </span>
<span $sendto</span> = 'abc@163.com'<span ;

</span><span //</span><span 發件人 </span>
<span $replyto</span> = 'cdf@163.com'<span ;

</span><span //</span><span 內容 www.jbxue.com</span>
<span $message</span> = "test send email content"<span ;

</span><span //</span><span 附件 </span>
<span $filename</span> = 'test.jpg'<span ;

</span><span //</span><span 附件類別 </span>
<span $mimetype</span> = "image/jpeg"<span ;

</span><span $mailfile</span> = <span new</span> CMailFile(<span $subject</span>,<span $sendto</span>,<span $replyto</span>,<span $message</span>,<span $filename</span>,<span $excelname</span>,<span $mimetype</span><span ); 
</span><span $mailfile</span>-><span sendfile(); 
</span>?>
Nach dem Login kopieren

您可能感兴趣的文章:
php 发送带附件邮件的类
php socket使用smtp发送带附件的邮件
PHPMailer发送带附件邮件的例子

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/729844.htmlTechArticle1,emailclass.php ? = "--==================_846811060==_" CMailFile( , , , , , , = "application/octet-stream", = -subject = -addr_to = -smtp_headers = -write_smtpheaders( -text_bo...
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage