HTML电子邮件作为文件附件

时间:2014-05-30 09:08:19

标签: php html email outlook

我遇到Outlook 2010问题。 我发送了一封带有此代码的Contactform的电子邮件:

  $message = '
        <html>
            <head>
            <title>Anfrage ('.$cfg->get('global.page.title').')</title>
            <style type="text/css">
                body { background:#FFFFFF; color:#000000; }
                #tbl td {
                    background:#F0F0F0;
                    vertical-align:top;
                }
                #tbl2 td {
                    background:#E0E0E0;
                    vertical-align:top;
                }
            </style>
        </head>
        <body>
            <p>Mail von der Webseite '.$cfg->get('global.page.title').'</p>
            <table id="tbl">
            <tr>
                <td>Absender</td>
                <td>'.htmlspecialchars($_POST['name']).' ('.htmlspecialchars(trim($_POST['email'])).')</td>
            </tr>
            <tr id="tbl2">
                <td>Betreff:</td>
                <td>'.htmlspecialchars($_POST["topic"]).'</td>
            </tr>
            <tr>
                <td>Nachricht:</td>
                <td>'.nl2br(htmlspecialchars($_POST["message"])).'</td>
            </tr>
            </table>
        </body>
        </html>';

        $absender = $_POST['name'].' <'.$_POST['email'].'>';
        $header  = "From: $absender\n";
        $header .= "Reply-To: $absender\n";
        $header .= "X-Mailer: PHP/" . phpversion(). "\n";
        $header .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"] . "\n";
        $header .= "Content-Type: text/html; Charset=utf-8";
        $send_mail = mail($cfg->get('contact.toMailAdress'), "Anfrage (".$cfg->get('global.page.title').")", $message, $header);
  //$send_mail = mail("jonathan.sigg@studcom.ch", "Anfrage (".$cfg->get('global.page.title').")", $message, $header);
        $_SESSION['kontakt_form_time'] = time();
        $tpl->assign("mail_sent", $send_mail);

当我发送电子邮件时,我不会显示该消息。它会生成一个名为[NAME].h的文件。消息在此文件中。我该如何解决,消息显示在电子邮件中。这是关于Outlook中的设置的问题吗?

1 个答案:

答案 0 :(得分:0)

问题在于Outlook中的安全设置。您需要更改设置以显示HTML。

但要小心,其他尝试阅读此消息的人也会遇到同样的问题。除了HTML版本之外,提供纯文本版本是常见的礼貌,因此接收这些电子邮件的人不必为您的安全设置妥协。这样的消息很可能也被标记为垃圾邮件。

祝你好运。