how to send attachment in mail in php?

how to send attachment in mail in php? – Send Email with Attachment in PHP. Mail send with attachments in PHP step by step.

how to send attachment in mail in php?

In this post, I will see how i can send an email with attachments using mail() function. This custom function or PHP mail attachment script is able to send a plain text email message together with a single attachment file.

how to send attachment in mail in php?
how to send attachment in mail in php?

Send HTML Email with Attachment

<?php 
 
$to = '[email protected]'; 
 
$from = '[email protected]'; 
$fromName = 'itsolutionstuck'; 
  
$subject = 'PHP Email with Attachment by itsolutionstuck';  
  
$file = "files/itsolutionstuck.pdf"; 
  
$htmlContent = ' 
    <h3>PHP Email with Attachment by itsolutionstuck</h3> 
    <p>This email is sent from the PHP script with attachment.</p> 
'; 
  
$headers = "From: $fromName"." <".$from.">"; 
  
$semi_rand = md5(time());  
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";  
  
$headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; 
   
$message = "--{$mime_boundary}\n" . "Content-Type: text/html; charset=\"UTF-8\"\n" . 
"Content-Transfer-Encoding: 7bit\n\n" . $htmlContent . "\n\n";  
  
if(!empty($file) > 0){ 
    if(is_file($file)){ 
        $message .= "--{$mime_boundary}\n"; 
        $fp =    @fopen($file,"rb"); 
        $data =  @fread($fp,filesize($file)); 
 
        @fclose($fp); 
        $data = chunk_split(base64_encode($data)); 
        $message .= "Content-Type: application/octet-stream; name=\"".basename($file)."\"\n" .  
        "Content-Description: ".basename($file)."\n" . 
        "Content-Disposition: attachment;\n" . " filename=\"".basename($file)."\"; size=".filesize($file).";\n" .  
        "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n"; 
    } 
} 
$message .= "--{$mime_boundary}--"; 
$returnpath = "-f" . $from; 
  
$mail = @mail($to, $subject, $message, $headers, $returnpath);  
  
echo $mail?"<h1>Email Sent Successfully!</h1>":"<h1>Email sending failed.</h1>"; 
 
?>

Don’t Miss : PHP Curl Get Request with Parameters

Sending Email to Multiple Recipients:

$headers .= "\nCc: [email protected]"; 
$headers .= "\nBcc: [email protected]";

Leave a Reply

Your email address will not be published.