PDA

View Full Version : How can I add HTML formating to 'Swift Mail tutorial' based PHP email?


banjax
Apr 29, 2010, 08:13 AM
Hello,

I have developed a competition page for a client, and they wish for the email the customer receives be more than simply text. The tutorial I used only provided simple text, within the 'send body message'. I am required to add html to introduce images to this email.

The code is:


//send the welcome letter
function send_email($info){

//format each email
$body = format_email($info,'html');
$body_plain_txt = format_email($info,'txt');

//setup the mailer
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$message ->setSubject('Thanks for entering the competition');
$message ->setFrom(array('[email protected]' => 'FromEmailExample'));
$message ->setTo(array($info['email'] => $info['name']));

$message ->setBody('Thanks for entering the competition, we will be in touch if you are a lucky winner.');

$result = $mailer->send($message);

return $result;

}

This function.php sheet is working and the customer is receiving their email OK, I just need to change the


('Thanks for entering the competition, we will be in touch if you are a lucky winner.')

To have HTML instead...

Please, if you can, provide me with an example of how I can integrate HTML into this function.

Cheers in advance. :-)

banjax
Apr 29, 2010, 09:39 AM
Just in case you're having the same issue, I got it working by adding the below code. Thanks. :-)


//send the welcome letter
function send_email($info){

//format each email
$body = format_email($info,'html');
$body_plain_txt = format_email($info,'txt');

//setup the mailer
$transport = Swift_MailTransport::newInstance();
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance();
$message ->setSubject('Thanks for entering the competition');
$message ->setFrom(array('[email protected]' => 'FromEmailExample'));
$message ->setTo(array($info['email'] => $info['name']));

$body_message = "<table><img src=\"http://www.example.com/img/email-thanks.jpg\" alt=\"Thanks for entering the, Good Luck!\"></table>";
$message ->setBody($body_message, 'text/html');

$result = $mailer->send($message);

return $result;

}