Send Attachments With PHP Mail()?

Request for callback

Details

To send an email with attachment we need to use the multipart/mixed MIME type that specifies that mixed types will be included in the email. Moreover, we want to use multipart/alternative MIME type to send both plain-text and HTML version of the email.Have a look at the example:

$filename = 'file';
$path = 'your path goes here';
$file = $path . "/" . $filename;

$mailto = 'to@mail.com';
$subject = 'Subject';
$message = 'My message';

$content = file_get_contents($file);
$content = chunk_split(base64_encode($content));

// a random hash will be necessary to send mixed content
$separator = md5(time());

// carriage return type (RFC)
$eol = "\r\n";

// main header (multipart mandatory)
$headers = "From: name <from@mail.com>" . $eol;
$headers .= "MIME-Version: 1.0" . $eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"" . $separator . "\"" . $eol;
$headers .= "Content-Transfer-Encoding: 7bit" . $eol;
$headers .= "This is a MIME encoded message." . $eol;

// message
$body = "--" . $separator . $eol;
$body .= "Content-Type: text/plain; charset=\"iso-8859-1\"" . $eol;
$body .= "Content-Transfer-Encoding: 8bit" . $eol;
$body .= $message . $eol;

// attachment
$body .= "--" . $separator . $eol;
$body .= "Content-Type: application/octet-stream; name=\"" . $filename . "\"" . $eol;
$body .= "Content-Transfer-Encoding: base64" . $eol;
$body .= "Content-Disposition: attachment" . $eol;
$body .= $content . $eol;
$body .= "--" . $separator . "--";

//SEND Mail
if (mail($mailto, $subject, $body, $headers)) {
echo "mail send ... OK"; // or use booleans here
} else {
echo "mail send ... ERROR!";
print_r( error_get_last() );
}

Related Updates

Payment Gateway

Payment Gateway

A payment gateway is a merchant service provided by an e-commerce application service provider that authorizes credit card or direct payments processing for e-businesses, online retailers, bricks and ... Continue

Payment Gateway Integration Into A Website

Payment Gateway Integration Into A Website

In the online business creation process the first ideas are related to the business type, what to do, what to sell, and right there the question came out. How to charge for your services and/or produc ... Continue

How To Write Subquery In Codeigniter Active Record

How To Write Subquery In Codeigniter Active Record

CodeIgniter Active Records do not currently support sub-queries, However I use the following approach: $this->db->select('id');$this->db->from('table');$where_clause = $this->db- ... Continue



Location

Shopali Building , Ghandhi ChowkDhrol-361210 Gujarat(India)
MoTuWeThFrSaSu
Open11:00 AM To 7:00 PM
Request For Quotation
Ique Infotech All rights reserved - Copyright © 2026
Powered by 4allBIZ