首頁 >後端開發 >php教程 >php 發送附附件郵件的類

php 發送附附件郵件的類

WBOY
WBOY原創
2016-07-25 08:55:23900瀏覽
PHPMailer發送郵件中文附件名亂碼的解決方法
  1. var $addr_to;
  2. var $text_body;
  3. var $text_encoded;
  4. var $mime_headers;
  5. var $mime_boundary = "--==================_846811060==_";
  6. var $smtp_headers;
  7. function CMailFile($subject,$to,$from,$msg,$filename,$downfilename,$mimetype = "application/octet-stream",$mime_filename = false) {
  8. $this- >主題=$主題;
  9. $this->addr_to = $to;
  10. $this->smtp_headers = $this->write_smtpheaders($from);
  11. $this->text_body = $this->write_body($msg);
  12. $this->text_encoded = $this->attach_file($filename,$downfilename,$mimetype,$mime_filename);
  13. $this->mime_headers = $this->write_mimeheaders($filename, $mime_filename);
  14. }
  15. function Attach_file($filename,$downfilename,$mimetype,$mime_filename) {
  16. $encoded = $this->encode_file($filename);
  17. if ($mime_filename) $filename = $mime_filename;
  18. $out = "--" 。 ”;
  19. $out = $out 。 “內容傳輸編碼:base64n”;
  20. $out = $out 。 。 >
  21. functionencode_file($sourcefile) {
  22. if (is_read($sourcefile)) {
  23. $fd = fopen($sourcefile, "r");
  24. $contents = fread($fd, filesize($sourcefile));
  25. $encoded = chunk_split(base64_encode($contents));
  26. fclose($fd);
  27. }
  28. 回傳 $encoded;
  29. }
  30. function sendfile() {
  31. $headers = $this->smtp_headers . $this->mime_headers;
  32. $message = $this->text_body 。
  33. 郵件($this->addr_to,$this->subject,$message,$headers);
  34. }
  35. function write_body($msgtext) {
  36. $out = "--" . $this->mime_boundary 。 。 「n」;
  37. 返回$out;
  38. }
  39. function write_mimeheaders($filename, $mime_filename) {
  40. if ($mime_filename) $filename = $mime_filename;
  41. $out = "MIME 版本: 1.0n";
  42. $out = $out 。
  43. $out = $out 。 “內容傳輸編碼:7BITn”;
  44. $out = $out 。 “X-附件:$檔名;nn”;
  45. 回傳$out;
  46. }
  47. function write_smtpheaders($addr_from) {
  48. $out = "寄件者:$addr_fromn";
  49. $out = $out 。 “回复:$addr_fromn”;
  50. $out = $out 。 “X-Mailer:PHP3n”;
  51. $out = $out 。 」;
  52. 回傳$out;
  53. }
  54. }
  55. /* 實作- 例如:mimetype 為"image/gif"
  56. $mailfile = new CMailFile($subject,$sendtogif"
  57. $mailfile = new CMailFile($subject,$sendto ,$replyto,$message,$filename,$mimetype);
  58. $mailfile->sendfile();
  59. $subject -- 主題
  60. $sendto -- 收信人地址
  61. $replyto -- 回覆地址
  62. $message -- 信件內容
  63. $filename -- 附件檔案名稱
  64. $downfilename -- 下載的檔案名稱
  65. $mimetype -- mime 類型
  66. */
  67. ?>
  68. 複製程式碼
  69. 2,示範範例 demo.php

    1. require_once('emailclass.php');
    2. //發送郵件
    3. / /主題
    4. $subject = "test send email";
    5. //收件者
    6. $sendto = 'abc@163.com';
    7. //寄件人
    8. $replyto = 'cdf@163.com';
    9. //內容
    10. $message = "test send email content";
    11. //
    12. $ filename = 'test.jpg';
    13. //附件類別
    14. $mimetype = "image/jpeg";
    15. $mailfile = new CMailFile($subject,$sendto,$ replyto, $message,$filename,$excelname,$mimetype);
    16. $mailfile->sendfile();
    17. ?>
    複製程式碼

    >複製程式碼 >> >> 您可能感興趣的文章: php socket使用smtp寄送附附件的郵件 Php中IMAP應用舉例(收發郵件、刪除郵件、附件下載)

    PHPMailer發送附附件郵件的範例


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn