Jump to content

Help With E-Mail And Attachments...


pswitzeny

Recommended Posts

Hello,

 

Basically, here is the short version of what I am doing. Someone goes to a web forum, fill out some information, and the then a PDF (using domPDF) is generated based on the input, then the PDF is e-mail as an attachment.

 

What I have works, but I strongly suspect that it doesn't follow best practices. I'm a new to PHP and e-mail stuff, so I need a little help as I want to do this properly.

 

$empName = $empNickName.;

 

$fileatt = "prints/".$fileName; // Path to the file

$fileatt_type = "application/pdf"; // File Type

$fileatt_name = $fileName; // Filename that will be used for the file as the attachment

 

$email_from = $emailFrom; // Who the email is from

$email_subject = $emailSubject; // The Subject of the email

$email_message = nl2br($emailMessage)."<br /><br /><br /> <img src='http://sitedomain.co...go.jpg'><br />";

 

 

$email_to = $emailTo.'; [email protected]'; // Who the email is to, plus CC me

 

$headers = "From: ".$empName." <".$email_from.">";

$mailParams = "-f$email_from";

 

$file = fopen($fileatt,'rb');

$data = fread($file,filesize($fileatt));

fclose($file);

 

$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}\"";

 

$email_message .= "This is a multi-part message in MIME format.\n\n" .

"--{$mime_boundary}\n" .

"Content-Type:text/html; charset=\"iso-8859-1\"\n" .

"Content-Transfer-Encoding: 7bit\n\n" .

$email_message .= "\n\n";

 

$data = chunk_split(base64_encode($data));

 

$email_message .= "--{$mime_boundary}\n" .

"Content-Type: {$fileatt_type};\n" .

" name=\"{$fileatt_name}\"\n" .

//"Content-Disposition: attachment;\n" .

//" filename=\"{$fileatt_name}\"\n" .

"Content-Transfer-Encoding: base64\n\n" .

$data .= "\n\n" .

"--{$mime_boundary}--\n";

 

$ok = @mail($email_to, $email_subject, $email_message, $headers, $mailParams);

 

if($ok) {

echo "The ".DispOrderType($orderType)." has been sent to the following address:<br>".$email_to.".";

 

} else {

 

echo "Sorry but the email could not be sent.";

 

}

 

 

Is this the best way to accomplish this?

 

Thank you for your help in advance!

 

-Paul

Link to comment
https://forums.phpfreaks.com/topic/270739-help-with-e-mail-and-attachments/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.