Home arrow PHP arrow Page 3 - Handling Attachments and Sending HTML Email Messages with Swift Mailer

Handling file attachments with Swift Mailer - PHP

In this sixth article of a series I discuss how to handle file attachments and sending HTML email messages with the Swift Mailer library. As you'll soon see, performing these tasks is a very straightforward process.

  1. Handling Attachments and Sending HTML Email Messages with Swift Mailer
  2. Sending copies with the setCc() and setBcc() methods
  3. Handling file attachments with Swift Mailer
  4. Sending email messages in HTML with the addPart() method
By: Alejandro Gervasio
Rating: starstarstarstarstar / 1
February 22, 2010

print this article



Obviously, any modern email library must be able to attach files to messages, and naturally Swift Mailer isn't an exception. But what's really exceptional in this particular case is that the library includes a separate class that does this, not surprisingly called "Swift_Attachment."

Nevertheless, to help you understand how to use this class a bit more clearly, below I developed another simple script. This time, it not only uses the methods that you learned before for sending the email message, but attaches an image file to it. Take a look at it:

// example on sending a basic email message with Swift Mailer (uses the 'attach()' method)


// include required files

require_once 'lib/swift_required.php';


// 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('alejandro@domain.com' => 'Alejandro Gervasio'))

// specify the To argument

->setTo(array('john@domain.com' =>' John Doe'))

->setCc(array('mary@domain.com' => 'Mary Jackson'))

->setBcc(array('susan@domain.com' => '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!')



// send the email message

if ($mailer->send($message))


echo 'The message was sent successfully!';




echo 'Error sending email message';


The above example definitely looks much more interesting, right? As you can see, it uses the "Swift_Attachment" class along with its "fromPath()" method to attach a fictional image file to the message before sending it.

In this particular example, the file being attached resides in the same location of the script, but it's also possible to specify a full path for the file. However, this feature will be covered in the next tutorial, so for the moment, focus your attention on the previous script and grasp its driving logic.

Done? Good. Now that you've learned how to compose and send a message with an attached image file, the next thing I'm going to show you is Swift Mailer's capabilities for dispatching email in HTML format.

This topic will be discussed in the last section of this tutorial. Therefore, click on the link that appears below and read the next few lines.

>>> More PHP Articles          >>> More By Alejandro Gervasio

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Hackers Compromise PHP Sites to Launch Attac...
- Red Hat, Zend Form OpenShift PaaS Alliance
- PHP IDE News
- BCD, Zend Extend PHP Partnership
- PHP FAQ Highlight
- PHP Creator Didn't Set Out to Create a Langu...
- PHP Trends Revealed in Zend Study
- PHP: Best Methods for Running Scheduled Jobs
- PHP Array Functions: array_change_key_case
- PHP array_combine Function
- PHP array_chunk Function
- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...

Developer Shed Affiliates


Dev Shed Tutorial Topics: