使用PHP发送HTML邮件

使用PHP发送HTML邮件,php,html,ssmtp,Php,Html,Ssmtp,可能重复: 我通过我的gmail帐户使用php发送电子邮件。我使用的是ssmtp而不是sendmail。我使用以下php代码发送邮件 $to = "mymail@gmail.com"; $from = "mymail@gmail.com"; $subject = "Testing mail"; $header = "MIME-Version: 1.0\r\n"; $header .= "Content-type: text/html; charset: utf8\r\n"; $he

可能重复:

我通过我的gmail帐户使用php发送电子邮件。我使用的是ssmtp而不是sendmail。我使用以下php代码发送邮件

$to = "mymail@gmail.com";
$from = "mymail@gmail.com";
$subject = "Testing mail";
$header  = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset: utf8\r\n";     
$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';
}
$to=”mymail@gmail.com";
$from=”mymail@gmail.com";
$subject=“测试邮件”;
$header=“MIME版本:1.0\r\n”;
$header.=“内容类型:text/html;字符集:utf8\r\n”;
$headers=“From:”$从…起
$message=“”;
$message.=“你好,世界!”;
$message.=“”;
if(邮件($to、$subject、$message、$headers)){
回显“已发送邮件”;
}否则{
echo“失败”;
}
但我收到的邮件如下

<html><body><head></head><h1>Hello, World!</h1></body></html>
你好,世界!

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

这是因为PHP本身不会生成新行。您可以使用echo“Lalala\n”生成新行。

这是因为PHP本身不会生成新行。您可以使用echo“Lalala\n”创建新行。

使用此选项

<?php
$to = "mymail@gmail.com";
                $from = "mymail@gmail.com";
                $subject = "Testing mail";
                $header  = "MIME-Version: 1.0\r\n";

        $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

                $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
$to = "mymail@gmail.com";
                $from = "mymail@gmail.com";
                $subject = "Testing mail";
                $header  = "MIME-Version: 1.0\r\n";

        $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

                $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';
                }
?>

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

$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
这个链接将非常有用


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

$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
这个链接将非常有用

您正在模糊地使用标题(单数)和标题(复数)。正确的方法是对标题使用复数:

$headers  = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
这是一本很好的读物:

您正在模糊地使用标题(单数)和标题(复数)。正确的方法是对标题使用复数:

$headers  = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
这是一本很好的读物:
内容类型:text/html;字符集:
应该是
内容类型:text/html;charset=
html电子邮件是邪恶的。它们是当今恶意软件感染的主要来源。不要使用它们。你应该查看一些库,例如哪些库更干净、更安全,可以用来发送电子邮件。更改
$header
$headers
应该可以
内容类型:text/html;字符集:
应该是
内容类型:text/html;charset=
html电子邮件是邪恶的。它们是当今恶意软件感染的主要来源。不要使用它们。你应该看看库,比如哪些是更干净、更安全的发送电子邮件的方法。更改
$header
$headers
,它应该可以工作。我正在跟踪那个链接。但我还是收到了同样的邮件。是因为ssmtp吗?当你通过简单的
SMTP
发送邮件时,它可以工作吗?我是在那个链接之后..但我还是收到了同样的邮件..是因为ssmtp吗?当你通过简单的
SMTP
发送邮件时它能工作吗?谢谢。。在将另一个附加到标题时,我删除了“.”。我没看见。现在很好用了,谢谢。。在将另一个附加到标题时,我删除了“.”。我没看见。现在它工作得很好。