Logo
Email Attachment
Online Now: 0

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
An easy way to send an HTML email with an attachment.
<?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);
?>
 
Snippet Comments

Add Your Comment

No Comments Yet.

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Rate the difficulty level:

Request Snippet Update


Suggested Difficulty Level: No votes yet.
Current Score: 4
Total votes: 1
Total Views: 1308

Other top snippets by admin:

1. JPG to ASCII Converter
2. Add (th, st, nd, rd, th) to the end of a number
3. Dynamic Page Content From Links
4. AJAX Quickie
5. Simple Image CAPTCHA

Search

Input key terms:
User Panel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.83 of 87)

2.  Test Please Delete (2.83 of 30)

3.  Return all repeated (3.64 of 72)

4.  Convert an integer (3.3 of 71)

5.  URL Shortening for (2.75 of 52)

6.  Monthly Content Sorting (3 of 45)

7.  Show String Trimmed (2.97 of 65)

8.  Human readable file (2.01 of 70)

9.  Randomize array values (2.8 of 82)

10.  Create a recursive (3.35 of 55)

New Snippets

1.  Parse RFC822 date (4 of 1)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010