PHP mail()html字符无法正确显示

拉斯·J

我在使用PHP mail()函数时遇到问题。如您在下面看到的,我正在使用PHP mail()函数发送带有中文字符的HTML电子邮件。虽然发送$ studentInfo的第一个电子邮件在最终电子邮件中正确显示了文本,但是发送$ studentInfoEN的下一个命令却未正确显示。有什么想法吗?

PS $ name,$ phoneNumber,$ eMail等都是从HTML表单文本输入接收的所有文本字符串

<?php 

$message="<html><body><p>Training Inquiry: ".$_GET["courseName"]."  ".$trainerMonths[$userMonth]." ".$_GET["day"].", 2014 ".$_GET["enLoc"]."</p></body></html>";

$studentInfo="<html><body><p>
                    姓名: $name<br/>
                    电话号码: $phoneNumber <br/> 
                    邮箱: $eMail<br/>
                    工厂名称: $factoryName<br/>
                    WRAP注册编号: $wrapNumber<br/>
                    所在国家: $homeCountry </p></body></html>";

$studentInfoEN="<html><body><p>
    Name $name <br/>
    Phone Number: $phoneNumber <br/>  
    E-mail: $eMail <br/>
    Factory Name: $factoryName <br/>
    WRAP Registration Number: $wrapNumber <br/>
    Home Country: $homeCountry </p></body></html>";

$trainerHeaders = "From:".$email."\n"."Reply-To:".$email."\n"."Content-type:text/html;charset=utf-8;"."\n";
$clientHeaders = "From:".$trainerAddress."\n"."Reply-To:".$trainerAddress."\n"."Content-type:text/html;charset=utf-8;"."\r\n";

mail($trainerAddress,"Training Inquiry",$message.$studentInfoEN,$trainerHeaders);
mail($eMail,"Web Submission Confirmation","$automatedMessage"."$confirmMessage"."$studentInfo",$clientHeaders); 

?>
耶罗恩

这似乎是错误的,您在开始<html>标记之前输出了一个字符串,body并且html在第一行关闭了您的and标记:

$studentInfoEN="
    Name"."<html><body><p>$name</p></body></html>"."

应该可能只是:

$studentInfoEN="<html><body><p>Name: $name

编辑:除此之外,您正在串联两个消息$message.$studentInfoEN,给您2个html标记,2个body等,这很可能会导致显示错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章