我已经制作了我的联系表格并且工作得很好,除非当有人给我发消息时,它没有任何格式,如下图所示:
这是我使用的.php代码:
$formdata = array (
'name' => $name,
'city' => $city,
'message' => $message
);
if ( !( $formerrors ) ) :
$to = "me@sipledomain.com";// input my name address to get mail to
$subject = "From $name";
$message = json_encode($formdata);
if ( mail( $to, $subject, $message ) ):
$msg = "Thanks for filling out the form, i will contact you soon";
else:
$msg = "Problem sending the message";
endif; // mail form data
endif; // check for form errors
endif; //form submitted
提前致谢
答案 0 :(得分:1)
json_encode()
将您的数组编码为一行文本,以便稍后解码,而不是供人类阅读。
相反,我会通过编写您自己的HTML或给它换行来自己构建您的电子邮件。您可以通过解析/迭代数组来以编程方式执行此操作。
例如:
$message = 'Name: '.$formdata['name'].'<br />'.$formdata['city'].'<br />'.'...';
如果你真的想要编码为JSON,你需要在编码后解析JSON并做同样的事情。
当您调用名为json_encode()
的{{1}}来保留空格时,您可能需要查看一个标记。更多信息:http://www.php.net/manual/en/json.constants.php
使用中:JSON_PRETTY_PRINT
为了使用JSON,我喜欢使用像http://jsonmate.com/这样的工具将JSON格式化为一个整洁的树。
答案 1 :(得分:0)
如果需要,可以通过将所有内容包装在标准HTML标记中,将电子邮件作为格式化HTML发送。否则,PHP会将消息发送为未格式化,因此请使用\n
来破坏行等。