很抱歉,但我觉得我有一点问题(很容易解决),但我自己并没有得到解决方案。你能救我一下吗?
我面临的问题是: - PHP脚本(由PHP邮件程序处理)正在发送电子邮件,但不是人们在表单中填写的信息。
这是我使用的php脚本:
<?php
$to = "user@domain.com";
$subject = "Request";
$message = "<h1>Request</h1>";
$message .= "<strong>street</strong>: $_POST['street']";
$message .= "<strong>store</strong>: $_POST['store']";
$headers = "From: request@domain.com";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n";
$sent = mail($to, $subject, $message, $headers);
if( $sent = mail($to, $subject, $message, $headers) ){ echo "SENT"; } else { echo "There
was a problem"; }
?>
提前致谢!
答案 0 :(得分:2)
<?php
$to = "user@domain.com";
$subject = "Request";
$message = "<h1>Request</h1>";
$message .= "<strong>street</strong>:".$_POST['street'];
$message .= "<strong>store</strong>:".$_POST['store'];
$headers = "From: request@domain.com";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html\r\n";
$sent = mail($to, $subject, $message, $headers);
if( $sent = mail($to, $subject, $message, $headers) ){ echo "SENT"; } else { echo "There
was a problem"; }
?>
答案 1 :(得分:2)
您的代码存在一些问题。
您的标题$headers .= "MIME-Version: 1.0\r\n";
格式不正确,并且正在1.0 etc.
添加From:
因此导致1.0 <request@domain.commime-version>
此外,您的mail()
功能正在执行两次,因此同时发送2封电子邮件。
我通过删除mail()
并修改$sent = mail($to, $subject, $message, $headers);
条件来修复包括if
在内的标题。
假设这是您用于HTML表单的内容,我曾用它来测试它:
<form method="POST" action="mail_handler.php">
<p>
<label>Street:<br>
<input name="street" type="text">
</label>
</p>
<p>
<label>Store:<br>
<input name="store" type="text">
</label>
</p>
<input name="submit" type="submit" value="Submit" />
</form>
<?php
$to = "user@domain.com";
$subject = "Request";
$message = "<h1>Request</h1>";
$message .= "<strong>street</strong>:".$_POST['street'];
$message .= "<br>";
$message .= "<strong>store</strong>:".$_POST['store'];
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
$headers .= "From: user@domain.com" . "\r\n" .
"Reply-To: user@domain.com" . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to, $subject, $message, $headers) ){
echo "SENT"; } else { echo "There was a problem"; }
?>
有关标题和mail()
函数的更多信息,请访问PHP.net网站,网址如下:http://php.net/manual/en/function.mail.php