Can anyone provide me with some example on how to add attachments to ZF2 Mail component?
I did like:
$message = new Message;
$message->setEncoding('utf-8');
$message->setTo($email);
$message->setReplyTo($replyTo);
$message->setFrom($from);
$message->setSubject($subject);
$message->setBody($body);
but got stuck when needed to add an attachment. Thanks.
To add an attachment, you just have to create a new MIME part and add it to the message.
Example:
// create a new Zend\Mail\Message object
$message = new Message;
// create a MimeMessage object that will hold the mail body and any attachments
$bodyPart = new MimeMessage;
// create the attachment
$attachment = new MimePart(fopen($pathToAttachment));
// or
$attachment = new MimePart($attachmentContent);
// set attachment content type
$attachment->type = 'image/png';
// create the mime part for the message body
// you can add one for text and one for html if needed
$bodyMessage = new MimePart($body);
$bodyMessage->type = 'text/html';
// add the message body and attachment(s) to the MimeMessage
$bodyPart->setParts(array($bodyMessage, $attachment));
$message->setEncoding('utf-8')
->setTo($email)
->setReplyTo($replyTo)
->setFrom($from)
->setSubject($subject)
->setBody($bodyPart); // set the body of the Mail to the MimeMessage with the mail content and attachment
Here is some helpful documentation on the subject: ZF2 - Zend\Mail
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With