Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
发送html电子邮件的PHP脚本_Php_Html_Html Email - Fatal编程技术网

发送html电子邮件的PHP脚本

发送html电子邮件的PHP脚本,php,html,html-email,Php,Html,Html Email,我写这个PHP脚本是为了发送一封HTML电子邮件。但是,电子邮件输出显示为原始文本,而不是解释为html <?php if(isset($_POST['submit'])) { $to = $_POST['email']; $from = "info@test.com"; $subject = "subject"; $message = "<div style=\"background:red;height:100px; " . "w

我写这个PHP脚本是为了发送一封HTML电子邮件。但是,电子邮件输出显示为原始文本,而不是解释为html

<?php 
 if(isset($_POST['submit']))  {
    $to = $_POST['email'];
    $from = "info@test.com";
    $subject = "subject";
    $message = "<div style=\"background:red;height:100px; " .
      "width:100px;display:block;\">dfsdf</div>";

    $headers = "MIME-Version: 1.0rn";
    $headers .= "Content-type: text/html; charset=iso-8859-1rn";
    $headers  .= "From: $from\r\n";
    mail($to, $subject, $message, $headers);
    echo "Message has been sent....!";  
 }else{
    echo "Add an email address"; 
 }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="/send" method="post">
  <input name="email" type="text" />
  <input name="submit" type="submit" value="Submit">
</form>
</body>
</html>

无标题文件
我收到的电子邮件是:

<div style="background:red;height:100px;width:100px;display:block;">dfsdf</div>
dfsdf

我希望得到一个红色的盒子。我做错了什么?

以下是适合我的:

$mailheaders = "From: $email\n";
$mailheaders .= "Reply-to: $email\n";
$mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n";

mail('my@email.com', 'Test', 'Foo bar', $mailheaders);

以下是对我有效的方法:

$mailheaders = "From: $email\n";
$mailheaders .= "Reply-to: $email\n";
$mailheaders .= "Content-Type: text/html; charset=iso-8859-1\n";

mail('my@email.com', 'Test', 'Foo bar', $mailheaders);

尝试更改电子邮件标题:
内容类型
字符集
,如下所示:

$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";


尝试更改电子邮件标题:
内容类型
字符集
,如下所示:

$headers = "MIME-Version: 1.0rn";
$headers .= "Content-type: text/html; charset=iso-8859-1rn";


您必须使用
$headers.=“内容类型:text/html;charset=iso-8859-1”。“\r\n”
$headers=“MIME版本:1.0\r\n”
而不是

$headers.=“内容类型:text/html;字符集=iso-8859-1rn”; $headers=“MIME版本:1.0rn”

所以试试这个

 <?php 
     if(isset($_POST['submit']))  {
        $to = $_POST['email'];
        $from = "info@test.com";
        $subject = "subject";
        $message = "<div style=\"background:red;height:100px;width:100px;display:block;\">dfsdf</div>";
        $headers = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1". "\r\n";
        $headers  .= "From: $from\r\n";
        mail($to, $subject, $message, $headers);
        echo "Message has been sent....!";  
     }else{
        echo "Add an email address"; 
     }?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form action="/send" method="post">
      <input name="email" type="text" />
      <input name="submit" type="submit" value="Submit">
    </form>
    </body>
    </html>

无标题文件

您必须使用
$headers.=“内容类型:text/html;charset=iso-8859-1”。“\r\n”
$headers=“MIME版本:1.0\r\n”
而不是

$headers.=“内容类型:text/html;字符集=iso-8859-1rn”; $headers=“MIME版本:1.0rn”

所以试试这个

 <?php 
     if(isset($_POST['submit']))  {
        $to = $_POST['email'];
        $from = "info@test.com";
        $subject = "subject";
        $message = "<div style=\"background:red;height:100px;width:100px;display:block;\">dfsdf</div>";
        $headers = "MIME-Version: 1.0\r\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1". "\r\n";
        $headers  .= "From: $from\r\n";
        mail($to, $subject, $message, $headers);
        echo "Message has been sent....!";  
     }else{
        echo "Add an email address"; 
     }?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    <body>
    <form action="/send" method="post">
      <input name="email" type="text" />
      <input name="submit" type="submit" value="Submit">
    </form>
    </body>
    </html>

无标题文件

电子邮件的显示方式完全取决于您的电子邮件阅读器。它应该与此代码无关。电子邮件的显示方式完全取决于您的电子邮件阅读器。它应该与此代码无关。