Hi Team
I have two files, one is for application for a loan and second is attaching pdf from the form and sends it as pdf. But the problem now i am getting both email gets sends and dont want that. What i am trying is as soon app.php loads data and be send to db record, the second file should be the one attaching the pdf's file and only one mail should be send not two, second shows text as a header with no attachment, while second shows total size attached but no document on the email.
What I have tried:
<pre><?php
function multi_attach_mail($to, $subject, $message, $senderEmail, $senderName, $received_email_send = array()){
$from = $senderName." <".$senderEmail.">";
$headers = "From: $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" . $message . "\n\n";
if(!empty($received_email_send)){
for($i=0;$i<count($received_email_send);$i++){
if(is_file($received_email_send[$i])){
$file_name = basename($received_email_send[$i]);
$file_size = filesize($received_email_send[$i]);
$message .= "--{$mime_boundary}\n";
$fp = @fopen($received_email_send[$i], "rb");
$data = @fread($fp, $file_size);
@fclose($fp);
$data = chunk_split(base64_encode($data));
$message .= "Content-Type: application/octet-stream; name=\"".$file_name."\"\n" .
"Content-Description: ".$file_name."\n" .
"Content-Disposition: attachment;\n" . " filename=\"".$file_name."\"; size=".$file_size.";\n" .
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
}
}
}
$message .= "--{$mime_boundary}--";
$returnpath = "-f" . $senderEmail;
$mail = mail($to, $subject, $message, $headers, $returnpath);
if($mail){
return true;
}else{
return false;
}
}
$to = 'gcobani.mkontwana@agilelimitless.org.za';
$from = 'ggcobani@gmail.com';
$fromName = 'ACI Finance Pty Ltd';
$subject = 'Application Loan with ACI Finance Pty Ltd';
$received_email_send = array(
'received_email_send/bankstatement.pdf',
'received_email_send/id.pdf',
'received_email_send/payslip.pdf'
);
$htmlContent = '
<h3></h3>
<h4></h4>
<p>Total Attachments: '.count($received_email_send).'</p>';
$sendEmail = multi_attach_mail($to, $subject, $htmlContent, $from, $fromName, $received_email_send);
if($sendEmail){
echo 'The email is sent successfully.';
}else{
echo 'Email sending failed!';
}
?>
// application.php(form to apply using html and this script below)
require_once 'send-email-attachment.php';
$logo = 'assets/img/logo.png';
$link = 'https://acifinance.co.za/';
$body .= "<tr><td style='border:none;'>Upload bankstatement {$bankstatement}</td></tr>";
$body .= "<tr><td></td></tr>";
$body .= "<tr><td style='border:none;'>Upload payslip: {$payslip}</td></tr>";
$body .= "<tr><td></td></tr>";
$body .= "<tr><td colspan='2' style='border:none;'> </td></tr>";
$body .= "--" . $separator . $eol;
$body .= "Content-Type: application/pdf; name=\"" . $fileName . "\"" . $eol;
$body .= "Content-Transfer-Encoding: base64" . $eol;
$body .= "Content-Disposition: attachment" . $eol;
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: application/pdf; charset=iso-8859-1';
$body .= $content . $eol;
$body .= "--" . $separator . "--";
$body .= "</tbody></table>";
$body .= "</body></html>";
$send = mail($to, $subject, $body, $headers);