HTML Email rec'd as Source Code

Posted on 16th Feb 2014 by admin

The code does create and send the email successfully. However, the message shows as html code and not an html email. Any ideas what is causing this?

Thanks.

Code: // Email
require_once "/mail.php";
require_once "/mime.php";
require_once "/Crypt/GPG.php";
require_once "/EDITED FOR PRIVACY";

$to = FORM_MAILER;

$crlf = "n";

$hdrs = array(
'From' => EDITED,
'Subject' => "Test Email - Received $date",
'Reply-to' => EDITED
);

$smtp["host"] = SMTP_HOST;
$smtp["port"] = SMTP_PORT;
$smtp["auth"] = true;
$smtp["username"] = SMTP_USERNAME;
$smtp["password"] = SMTP_PASSWORD;

$html = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<style type="text/css">

* { margin: 0; padding: 0; }
</style>

</head>
<body>

<div id="body">

<h1>TEST</h1>

<p><br /></p>

<p>TEST</p>

<p><br /></p>

<table>
<tr>
<td>Date:</td>
<td>' . $date . '</td>
<td></td>
<td></td>
</tr>
<tr>
<td>First Name:</td>
<td>' . $first_name . '</td>
<td>Last Name:</td>
<td>' . $last_name . '</td>
</tr>
</table></div></body></html>';

$mime = new Mail_mime($crlf);

//$mime->setTXTBody(strip_tags($html));
$mime->setHTMLBody($html);
//$mime->addAttachment();

// Encryption
$data = $mime->setHTMLBody($html);

$gpg = new Crypt_GPG();
$gpg -> addEncryptkey(GPG_SECURE);
$encrypted = $gpg -> encrypt($data);

$body = $mime->get();
$hdrs = $mime->headers($hdrs);

ob_start();

$mail = Mail::factory('smtp', $smtp);

$mail->send($to, $hdrs, $encrypted)
or die('Error while processing your submission.');


ob_end_clean();

I am thinking it is the gpg that is causing the issue. But all my attempts to get around it aren't going well. If I take out the gpg the email is received fine. Thanks for the help

Other forums