11

I want to add an attachment to an email. I am using sfmailer class.

Here I have given my code below:

$mail_body = '<p>custom html mail content</p>';
$message = Swift_Message::newInstance('Message title')
  ->setFrom(array('sender'))
  ->setTo(array('receiver'))
  ->setBody($mail_body, 'text/html', 'utf-8');

try {
  $this->getMailer()->send($message);
}
catch(Exception $e) {

}
j0k
  • 22,600
  • 28
  • 79
  • 90
nic
  • 929
  • 3
  • 14
  • 22

2 Answers2

31

You have several options to attach a document to an email using swift mailer.

From the symfony doc:

$message = Swift_Message::newInstance()
  ->setFrom('from@example.com')
  ->setTo('to@example.com')
  ->setSubject('Subject')
  ->setBody('Body')
  ->attach(Swift_Attachment::fromPath('/path/to/a/file.zip'))
;

$this->getMailer()->send($message);

And many others possibility from the swift mailer doc.

j0k
  • 22,600
  • 28
  • 79
  • 90
3

Also you can attach a file by resource.

$message = Swift_Message::newInstance()
  ->setFrom('from@example.com')
  ->setTo('to@example.com')
  ->setSubject('Subject')
  ->setBody('Body')
  ->attach(Swift_Attachment::newInstance($content, 'invoice.pdf','application/pdf'));
Danil Pyatnitsev
  • 2,172
  • 2
  • 26
  • 39