Php sends emails. Many related articles will be posted online. This article describes sending emails with attachments.
The emailclass. php code is as follows: <? Class CMailFile {var $ subject; var $ addr_to; var $ text_body; var $ text_encoded; var $ mime_headers; var $ mime_boundary = "-- =====================_ 846811060 ==_"; var $ smtp_headers; function CMailFile ($ subject, $ to, $ from, $ msg, $ filename, $ downfilename, $ mimetype = "application/octet-stream", $ mime_filename = false) {$ this-> subject = $ subject; $ this-> addr_to = $ to; $ this-> smtp_headers = $ this-> write_smtphea Ders ($ from); $ this-> text_body = $ this-> write_body ($ msg); $ this-> text_encoded = $ this-> attach_file ($ filename, $ downfilename, $ mimetype, $ mime_filename); $ this-> mime_headers = $ this-> write_mimeheaders ($ filename, $ mime_filename);} function attach_file ($ filename, $ downfilename, $ mimetype, $ mime_filename) {$ encoded = $ this-> encode_file ($ filename); if ($ mime_filename) $ filename = $ mime_filename; $ out = "--". $ This-> mime_boundary. "\ n"; $ out = $ out. "Content-type :". $ mimetype. "; name = \" $ filename \ "; \ n"; $ out = $ out. "Content-Transfer-Encoding: base64 \ n"; $ out = $ out. "Content-disposition: attachment; filename = \" $ downfilename \ "\ n"; $ out = $ out. $ encoded. "\ n"; $ out = $ out. "--". $ this-> mime_boundary. "--". "\ n"; return $ out;} function encode_file ($ sourcefile) {if (is_readable ($ source File) {$ fd = fopen ($ sourcefile, "r"); $ contents = fread ($ fd, filesize ($ sourcefile )); $ encoded = chunk_split (base64_encode ($ contents); fclose ($ fd);} return $ encoded;} function sendfile () {$ headers = $ this-> smtp_headers. $ this-> mime_headers; $ message = $ this-> text_body. $ this-> text_encoded; mail ($ this-> addr_to, $ this-> subject, $ message, $ headers);} function write_body ($ msgtext) {$ out = "--". $ This-> mime_boundary. "\ n"; $ out = $ out. "Content-Type: text/plain; charset = \" us-ascii \ "\ n"; $ out = $ out. $ msgtext. "\ n"; return $ out;} function write_mimeheaders ($ filename, $ mime_filename) {if ($ mime_filename) $ filename = $ mime_filename; $ out = "MIME-version: 1.0 \ n "; $ out = $ out. "Content-type: multipart/mixed;"; $ out = $ out. "boundary = \" $ this-> mime_boundary \ "\ n"; $ out = $ out. "Conte Nt-transfer-encoding: 7BIT \ n "; $ out = $ out. "X-attachments: $ filename; \ n"; return $ out;} function write_smtpheaders ($ addr_from) {$ out = "From: $ addr_from \ n "; $ out = $ out. "Reply-To: $ addr_from \ n"; $ out = $ out. "X-Mailer: PHP3 \ n"; $ out = $ out. "X-Sender: $ addr_from \ n"; return $ out ;}/ * usage-for example, if mimetype is set to "image/gif" $ mailfile = new CMailFile ($ subject, $ sendto, $ replyto, $ message, $ filename, $ m Imetype); $ mailfile-> sendfile (); $ subject -- Topic $ sendto -- recipient address $ replyto -- reply address $ message -- mail content $ filename -- attachment file name $ downfilename -- File Name of the lower-end region $ mimetype -- mime type */?> The Demo copy code is as follows: <? Php require_once ('emailclass. php '); // send email // subject $ subject = "test send email"; // recipient $ sendto = 'abc @ 163.com '; // sender $ replyto = 'cdf @ 163.com '; // content $ message = "test send email content"; // attachment $ filename = 'test.jpg '; // attachment type $ mimetype = "image/jpeg"; $ mailfile = new CMailFile ($ subject, $ sendto, $ replyto, $ message, $ filename, $ excelname, $ mimetype); $ mailfile-> sendfile ();?>