使用PHP发送HTML邮件



可能的重复:
从php

发送HTML电子邮件

我正在通过我的Gmail帐户使用PHP发送电子邮件。而且我正在使用SSMTP,而不是Sendmail。我正在使用以下PHP代码发送邮件。

$to = "mymail@gmail.com";
$from = "mymail@gmail.com";
$subject = "Testing mail";
$header  = "MIME-Version: 1.0rn";
$header .= "Content-type: text/html; charset: utf8rn";     
$headers = "From:" . $from;
$message = "<html><body><head></head>";
$message .= "<h1>Hello, World!</h1>";
$message .= "</body></html>";
if(mail($to,$subject,$message,$headers)){
   echo "Mail Sent.";
} else {
   echo 'failed';
}

但是我收到的邮件如下

<html><body><head></head><h1>Hello, World!</h1></body></html>

这可能是什么原因?我在Ubuntu中使用SSMTP MTA。

尝试在代码中使用以下内容

$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";

此链接将最有用

使用PHP

发送HTML电子邮件

您使用的是标题(单数)和标题(复数)。正确的方法是为标题使用复数:

$headers  = "From: " . strip_tags($_POST['req-email']) . "rn";
$headers .= "MIME-Version: 1.0rn";
$headers .= "Content-Type: text/html; charset=ISO-8859-1rn";

这是一个很好的阅读:http://css-tricks.com/sending-nice-html-email-with-php/

使用此

<?php
$to = "mymail@gmail.com";
                $from = "mymail@gmail.com";
                $subject = "Testing mail";
                $header  = "MIME-Version: 1.0rn";
        $header .= "Content-Type: text/html; charset=ISO-8859-1rn";
                $header .= "From:" . $from;
                $message = "<html><body><head></head>";
                $message .= "<h1>Hello, World!</h1>";
                $message .= "</body></html>";
                if(mail($to,$subject,$message,$headers)){
                echo "Mail Sent.";
                } else {
                echo 'failed';
                }
?>

那是因为php不会自我创造新的线条。您可以使用Echo" Lalala n"来制作新线条。

相关内容

  • 没有找到相关文章