SMTP Sendmail PEAR不使用数据库格式化

时间:2015-06-16 21:25:58

标签: php mysql email

我正在使用PEAR发送带有smtp身份验证的电子邮件。

目前,我将带有格式的电子邮件存储在数据库中,然后从那里发送出去。电子邮件发送完美。但电子邮件正文没有格式化。相反,它正在采取数据库中的任何内容,并将其直接用作纯文本而不是HTML格式的文本。

无论如何都有解决这个问题的方法吗?

function sendmail($from,$to,$subject,$body,$host,$username,$password){
      $headers = array ('From' => $from,   'To' => $to,   'Subject' => $subject);
      $smtp = Mail::factory('smtp',   array ('host' => $host,     'auth' => true,     'username' => $username,     'password' => $password));
      $mail = $smtp->send($to, $headers, $body);
      if (PEAR::isError($mail)) {
          echo "<p>" . $mail->getMessage() . "</p>";  
      } else {   
        echo "<p>Message successfully sent!</p>";  
      }
    }

现在$body = <p>&nbsp;Lets make this an epic test mail. and see what happens?</p>所以它应该删除标记,然后将其放入电子邮件中。

但我收到的电子邮件的文字为<p>&nbsp;Lets make this an epic test mail. and see what happens?</p>

1 个答案:

答案 0 :(得分:1)

如果你想要HTML电子邮件,那么你需要添加标题:

 'Content-type' => 'text/html;charset=iso-8859-1'

你的字符集可能会有所不同