Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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_Email_Xhtml - Fatal编程技术网

包含HTML的PHP邮件程序未正确显示

包含HTML的PHP邮件程序未正确显示,php,email,xhtml,Php,Email,Xhtml,这是我一直在编写的一些代码,基本上我需要设置一个自动电子邮件,在用户填写表单后发送给用户,目前正在这样做,但HTML没有在电子邮件客户端中显示 我登录了Gmail、Outlook和Mac mail,但它们都没有正确显示HTML 这是密码 <?php session_start(); $_SESSION['name'] = $_POST['name']; $name = $_SESSION['name']; $email_1 = $_POST['email_1

这是我一直在编写的一些代码,基本上我需要设置一个自动电子邮件,在用户填写表单后发送给用户,目前正在这样做,但HTML没有在电子邮件客户端中显示

我登录了Gmail、Outlook和Mac mail,但它们都没有正确显示HTML

这是密码

<?php
    session_start();
    $_SESSION['name'] = $_POST['name'];
    $name = $_SESSION['name'];
    $email_1 = $_POST['email_1'];
    $email_2 = $_POST['email_2'];
    $email_3 = $_POST['email_3'];
    $email_4 = $_POST['email_4'];
    $id_num = $_POST['id_num'];
    $tel = $_POST['tel'];
    $email = $_POST['email'];



    //sets the current date

    $curDate = date("Y-m-d");

    // Example


    require_once("mailclass/htmlMimeMail.php");
    $mail = new htmlMimeMail();
    $mail->setSubject("Your submission to MyWebsite!");
    $mail->setFrom("MyWebsite <info@website.co.za>");
    $mail->setFrom("MyWebsite <info@website.co.za>");
    $email_address = $email_1 . "," . $email_2 . "," . $email_3 ."," . $email_4 ;
    $mail->setBcc($email_address);





    $day = "
         <body style="'background: #000000; color: #FFFFFF;'">
         <div style="'background-image: url(http://www.website.com/images/mailerbg.jpg); width: 900px; height: 839px; margin: 0 auto;'">
         <div style="'width: 620px; height: 280px; position: relative; top: 155px; left: 25px;'">
                <h1><br>your friend $name<br><br><br></h1>
            </div>    
        </div>
        </body>";

    $mail->setHTML($day);   
            $result = $mail->send(array());

    ?> 

代码非常凌乱,因为我经常使用它,但基本上没有一个HTML显示在电子邮件客户端中,一旦消息到达目的地,我如何让它在邮件客户端中显示为正确的HTML页面

我假设我的逃跑没有正确完成,这就是为什么没有显示出应有的效果


先走一步

在这种情况下,显示PHP代码是无用的。我们需要查看最终生成的电子邮件

然而,引人注目的是一些错误的引用:

 <body style="'background: #000000; color: #FFFFFF;'">

应该是

 <body style="background: #000000; color: #FFFFFF;">

也许这已经解决了


此外,据报道,电子邮件中几乎不支持定位-这也可能会干扰布局。

Nice anwser,但请记住,在使用pekka的电子邮件时,您必须使用单引号($day='';)来表示偏差code@Tim好眼睛!我想知道OP的代码是如何工作的,所有这些嵌套的双引号?这也是我跳出来的。要补充的是,如果您想转义那些双引号,只需在引号前加一个反斜杠,就像这样:
这样,当您键入双引号时,您不会过早地关闭HTML正文字符串。或者,就像Tim说的,你可以用单引号括起整个字符串,用双引号括起来,就像普通的一样,反之亦然!