1

对不起,仍然是新手,但正在变得更好。我正在建立一个网站,因为我不是那么好,所以我提供了一个页面,俱乐部成员可以报告问题并给我足够的信息来调查它。我已经编写了 PHP 代码来向我发送电子邮件。如果我回显 $message,它会在屏幕上正常打印,但在电子邮件中它只是一个带有 HTML 标记的长句子。我搜索了一个解决方案并尝试了“”内容类型:文本/纯文本;charset=UTF-8"" 但什么也没做。我知道当我得到答案时我会很尴尬,但我被困住了。提前致谢。

<?php  
//  Convert form data to srting data

    $first_name=$_POST['first_name'];
    $last_name=$_POST['last_name'];
    $e_mail=$_POST['e_mail'];
    $browser=$_POST['browser'];
    $browser_version=$_POST['browser_version'];
    $os=$_POST['os'];
    $os_ver=$_POST['os_ver'];
    $device=$_POST['device'];
    $make=$_POST['make'];
    $issue=$_POST['issue'];

//  Use string data to create and send e-mail

    $to = '*******@*****.com';  //  will need to be converted to webmaster@stjoesclub.com
    $subject = 'Problem with St. Joseph Web Site';
    $message = $first_name . " " . $last_name . " is reporting a problem with the web site. <br><br>" .
               "E-mail address:  " . $e_mail . "<br><br>" .
               "Browser:  " . $browser . "<br>" .
               "Browser Version:  " . $browser_version . "<br><br>" .
               "Operating System:  " . $os . "<br>" .
               "Operating System Version:  " . $os_ver . "<br><br>" .
               "Device:       " . $device . "<br>" .
               "Device Make:   " . $make . "<br><br>" .
               $issue;


//  Send e-mail to webmaster

    mail($to, $subject, $message, 'From: ' . $e_mail, "Content-type: text/plain; charset=UTF-8");

?>
4

3 回答 3

0

尤里卡!感谢 Harish Singh 的帮助,我能够解决自己的问题。查看他的代码,我发现一个问题是字符串 $mailHtml 未定义,这就是空白电子邮件的原因。

但是从他的代码中我发现 $eol 代表 End Of Line。当它通过电子邮件进来时,通过使用它而不是

正确的电子邮件格式。

不幸的是,如果我在提交后在屏幕上回显 $message 它将不起作用,但幸运的是我保存了旧代码以便可以正确打印它。我知道这不是有效的代码,但对于菜鸟黑客来说它是有效的。

再次感谢您的帮助。

于 2013-11-14T23:41:27.880 回答
0

Content-Type应该设置text/html为@Ben Fortune所说的

于 2013-11-14T12:56:46.877 回答
0

Content-Type如下使用text/html_

$eol="\r\n";

# Common Headers
$headers = "Message-ID: <".time()."-".$e_mail.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;                      
// These two to help avoid spam-filters

# Boundry for marking the split & Multitype Headers
$headers .= 'MIME-Version: 1.0'.$eol;
$headers .= "Content-Type: text/html; charset=iso-8859-1".$eol.$eol;

mail($to, $subject, $message, 'From: ' . $e_mail, $headers);
于 2013-11-14T13:40:22.330 回答