Zusee Weekin Zusee Weekin - 4 months ago 8
PHP Question

Adding html template to swift email body

I'm new to swiftmailer and I could successfully send email using it. I need to add a html template to the email body. I'm not sure how to do that?
This is the code I used to

function sendMail($destinationEmail){

// Create the mail transport configuration
$transport = Swift_MailTransport::newInstance();

$html = "<html>
<head>
<title>Alerting System</title>
<style type=\"text/css\">
<!--
table {
font-family: Verdana, Arial, Helvetica, sans-serif;
border: thin solid;
}
th {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #f0f0f0;
background-color: #ff0000;
font-size: 12px;
}
td {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #000000;
font-size: 10px;
border: thin solid;
}
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
<head>
<body>
<CENTER>
<TABLE width=\"50%\">
<TBODY>
<tr>
<th >test</th>
</tr>
</TBODY>
</TABLE>
<br>
Alerting and Reporting System
</CENTER></BODY></HTML>
";


// Create the message
$message = Swift_Message::newInstance();
$message->setTo(array(
$destinationEmail => "test",
$destinationEmail => "test mail"
));
$message->setSubject("This email is sent using Swift Mailer");
$message->setBody("You're our best client ever.");
$message->setFrom("test@testcom.com", "Alerts");

$message->attach($html, "text/html");


// Send the email
$mailer = Swift_Mailer::newInstance($transport);
$mailer->send($message);
}


How can I add this $html variable an email template? Any suggestion would be appreciated.

Answer

Use this

$html = "<html>
<head>
<title>Alerting System</title>
<style type=\"text/css\">
<!--
table {
font-family: Verdana, Arial, Helvetica, sans-serif;
border: thin solid;
}
th {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #f0f0f0;
background-color: #ff0000;
font-size: 12px;
}
td {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #000000;
font-size: 10px;
border: thin solid;
}
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
-->
</style>
<head>
<body>
<CENTER>
<TABLE width=\"50%\">
<TBODY>
<tr>
<th >test</th>
</tr>
</TBODY>
</TABLE>
<br>
Alerting and Reporting System
</CENTER></BODY></HTML>
";


    $message->setBody($html,'text/html' // Mark the content-type as HTML);
Comments