设置php电子邮件以允许Microsoft Outlook读取样式

时间:2018-06-04 18:27:15

标签: php css email outlook phpmailer

我遇到的问题是Microsoft Office没有读取我创建的任何内联样式或类。起初,我只是设置了内联样式,但是读到Outlook没有读取这种类型的代码。然后我尝试了类方法,但仍然没有运气。我正在使用PHPMailer发送电子邮件。

是否有人在我的代码中看到任何阻止其工作的内容?

我专门更改的部分是' .emailHeader'和' .Logo'。其余的仍然是内联式的形式。

$mail->isHTML(true);                                  // Set email format to 

    $mail->Subject = $subject;
    $mail->Body    = '
        <head>
        <style>
        .logo {
            width: 200px;
            height: auto;
        }
        .emailHeader {
            max-width: 600px;
            height: auto;
            margin: auto;
            display: block;
            padding: 20px 0;
        }
        </style>
        </head>
        <body>
            <div id="header-background" style="background:#16597B;width:100%;max-width:100%;height:auto;">
                <div class="emailHeader">
                    <div class="logo"><a href=""><img src="Logo.png" style="width:200px;height:auto;text-align:center"></a></div>
                    <div style="clear:both;"></div>
                    <div id="email-to" style="color:#FFF;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;font-size: 2.5em;margin-top:35px;">Hi Team,</div>
                        <div id="email-header-description" style="font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.4em;color:#d0dde4;margin-top:45px;">
                            You have received a new inquiry<br><br>
                        </div>
                    </div>
                </div>
                <div id="email-link" style="width:100%;padding:15px;height:auto;background:#EBEBEB;position:relative;">
                    <div id="email-link-container" style="width:600px;height:auto;margin:auto;text-align:left;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform: translate(-50%, -50%);width:600px; font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.1em;">
                        <p>Name: ' . $first_name . ' ' . $last_name . '</p>
                        <p>Email: ' . $client_email . '</p>
                        <p>Phone: ' . $client_phone . '</p>
                        <p>Company: ' . $company . '</p>
                        <p>Contact Details: ' . $details . '</p>
                    </div>
                </div>
            </div>
        </body>
    ';

2 个答案:

答案 0 :(得分:0)

尝试删除上一个</div>。当我尝试代码时,它给了我错误

答案 1 :(得分:0)

您还没有包含&lt; html&gt;周围的标签,以及其他常见的头部标签,如元字符集。所有这些都适用于PHPMailer-&gt; Body。

对于最近的一个项目,我仔细查看了其中一个Cerberus模板,最后复制了&amp;粘贴基本大纲并填写我自己的内容。查看下面的Cerberus模板:

https://raw.githubusercontent.com/TedGoas/Cerberus/master/cerberus-fluid.html