| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

发送带附件的PHP代码

一个简单的方法来发送带有附件的HTML电子邮件。

 <?php  // Set who this goes to:  $to = array('Billy Bob','billy@bob.com');  // Give the message a subject:  $subject = 'Some subject';  // Set who this message is from:  $from = array("My Company", "company@site.com");    // Create the header information:  $random_hash = md5(date('r', time()));   $mime_boundary = "==Multipart_Boundary_x{$random_hash}x";   $headers  = 'MIME-Version: 1.0' . "\r\n";  $headers .= 'Content-Type: multipart/mixed; boundary="'.$mime_boundary.'"' . "\r\n";  $headers .= 'To: '.$to[0].' <'.$to[1].'>' . "\r\n";  $headers .= 'From: '.$from[0].' <'.$from[1].'>' . "\r\n";    // Build the message (can have HTML in it) message:  $message = 'This is an <b>HTML message</b> it comes with an attachment!'."\n\n".  // Do not edit this part of the message:  "--{$mime_boundary}\n" .  "Content-Type:text/html; charset=\"iso-8859-1\"\n" .  "Content-Transfer-Encoding: 7bit\n\n" .  $message . "\n\n";  // The image that you would like to send (filename only):  $name = 'phpsnippets.jpg';  // The path to the image with the file name:  $fileatt = "images/".$name;    $fileatt_type = "application/octet-stream"; // File Type  // Filename that will be used for the file as the attachment  $fileatt_name = $name;     // Read the file attachment:  $file = fopen($fileatt,'rb');  $data = fread($file,filesize($fileatt));  fclose($file);     // Create sendable information  $data = chunk_split(base64_encode($data));    // Finalize the message with attachment  $message .= "--{$mime_boundary}\n" .  "Content-Type: {$fileatt_type};\n" .  " name=\"{$fileatt_name}\"\n" .  "Content-Transfer-Encoding: base64\n\n" .  $data . "\n\n" .  "--{$mime_boundary}\n";  unset($data);  unset($file);  unset($fileatt);  unset($fileatt_type);  unset($fileatt_name);    // Send the message:  mail($to[1], $subject, $message, $headers);  ?>