As I stated in the introduction, Swift Mailer provides developers with the ability to attach files from locations other than where the email script or application is being executed.
To demonstrate this capability, below I rewrote the example shown in the previous section, which uses the “fromPath()” method to attach an image file from a distinct folder on the web server.
Here’s the corresponding code sample; examine it closely, please:
// example on sending a basic email message with Swift Mailer (uses the 'addPart()' method and Swift_Attachment class and an attachment path)
// include required files
// create the mail transport using the 'newInstance()' method
$transport = Swift_SmtpTransport::newInstance('mail.domain.com', 25)
// create the mailer using the 'newInstance()' method
$mailer = Swift_Mailer::newInstance($transport);
// create a simple message using the 'newInstance()' method
$message = Swift_Message::newInstance()
// specify the subject of the message
->setSubject('Testing Swift Mailer')
// specify the From argument
->setFrom(array('email@example.com' => 'Alejandro Gervasio'))
// specify the To argument
->setTo(array('firstname.lastname@example.org' =>' John Doe'))
->setCc(array('email@example.com' => 'Mary Jackson'))
->setBcc(array('firstname.lastname@example.org' => 'Susan Norton'))
// build the body part of the message
->setBody('Hey, how are you? I am sending you a message with the cool Swift Mailer library. Make sure to check the attached file!')
->addPart('<p>This part of the message has been formatted as HTML to make it look nicer</p>', 'text/html')
// send the email message
echo 'The message was sent successfully!';
echo 'Error sending email message';
As depicted above, thanks to the flexibility offered by the “fromPath()” method, it’s perfectly possible to attach a file from a different location on the web server. Naturally, for the sake of clarity, the file path specified in the above example is merely fictional, but when working in a production environment, the path obviously would be a real one.
So far, everything looks good, right? At this point, you've learned how to use Swift Mailer’s abilities for attaching files from a different folder on the local web server. Nevertheless, the library also permits you to perform this same task by using a remote host. In the upcoming segment I’m going to build a final script, which will recreate this particular scenario for you.
To see how this last example will be developed, click on the link below and keep reading.
blog comments powered by Disqus