I’ve moved to the fantastic PHPMailer PHP class to handle all my e-mail send outs for my projects and have thus far been quite impressed by the ease-of-use and robustness of the class. Today I’ll quickly note how you can send an attachment (like a PDF file for example) with a mail send out.
As you can see from the code snippet below, attaching a file is as simple as passing a valid file path to the file to be included to the AddAttachment() function call and then hitting Send().
//create the mail class and fill in all the required settings $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "smtp.server.net"; $mail->SMTPAuth = true; $mail->Username = "username@domain.com"; $mail->Password = "password1"; $mail->From = "username@domain.com"; $mail->FromName = "Software Simian"; $mail->AddAddress("targetguy@domain.com", "Target Guy"); $mail->AddReplyTo("username@domain.com", "Software Simian"); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = "Subject"; $mail->Body = "Message"; $mail->AltBody = strip_tags("Message:); //and now for the actual bit when it comes to adding a file attachment to an e-mail $mail->AddAttachment("/home/username/fileToUpload/report.pdf"); //and send. Now was that not easy? if(!$mail->Send()){ $resultstatus = 'Failed'; }
Couldn’t be any simpler, could it? :)
Related Link: http://phpmailer.worxware.com/