I am sending an email using PHP mail function, but I would like to add a specified PDF file as a file attachment to the email. How would I do that?
Here is my current code:
$to = "[email protected]";
$subject = "My message subject";
$message = "Hello,\n\nThis is sending a text only email, but I would like to add a PDF attachment if possible.";
$from = "Jane Doe <[email protected]>";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
echo "Mail Sent!";
You should consider using a PHP mail library such as PHPMailer which would make the procedure to send mail much simpler and better.
Here's an example of how to use PHPMailer, it's really simple!
<?php
require_once('../class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$body = file_get_contents('contents.html');
$body = eregi_replace("[\]",'',$body);
$mail->AddReplyTo("[email protected]","First Last");
$mail->SetFrom('[email protected]', 'First Last');
$mail->AddReplyTo("[email protected]","First Last");
$address = "[email protected]";
$mail->AddAddress($address, "John Doe");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
?>
An alternative to PHPMailer is http://swiftmailer.org/