您好,我看到了一个在线php教程,无法收到此联系表单中的任何电子邮件,也无法理解我错在哪里
<html>
<head></head>
<body>
<?php
if(isset($_POST["submit"])){
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
mail("abcsojf@gmail.com",$subject, $message, "From:" . $email);
}
?>
<h1>Contact Us</h1>
<form method="post" action="abc.html">
<table align="center" style="color:#fff;">
<tr><td style="color:black">Email:<input type="text" name="email" /></td></tr>
<tr><td style="color:black">subject:<input type="text" name="subject" /></td></tr>
<tr><td style="color:black">Message:<br>
<textarea name="message" cols="40" rows="15">Type your message here</textarea>
<input type="submit" name="submit" value="send" /></td></tr>
</table>
</form>
</body>
</html>
答案 0 :(得分:1)
您需要加载页面:
file:///
URI).html
扩展名的文件的服务器非常罕见。)答案 1 :(得分:0)
如果您执行以下两项操作,您的代码将起作用:
由于您要提交到同一页面,因此可以删除操作部分。
<form method="post" action="">
将当前页面保存为.php文件。
您的信息页将为abc.php
现在在浏览器中运行您的页面并提交表单。
p.s:你需要安装运行php的apache。
您可以通过创建包含以下内容的新页面来检查:
<?php phpinfo();?>
希望这是有道理的。
答案 2 :(得分:0)
首先,通过PHP以默认设置发送邮件需要在服务器上安装和配置Sendmail服务。
在unix服务器中,您可以检查/usr/spool/mail/username
文件,或/var/log/maillog
以查看邮件日期()“使用情况”。
答案 3 :(得分:0)
有三种可能的方法使其正常工作。你必须遵守第一项义务。
1)从abc.html重命名您的文件 - &gt; abc.php并检查PHP是否可用并通过localhost /托管服务器工作。
2)将表单标签更改为
<form name="mailform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> OR
<form name="mailform" method="post" action="">
使您的发布数据在同一页面上可用。
3)而不是
if(isset($_POST["submit"])){
条件尝试使用
if(isset($_POST["submit"]) && isset($_POST["email"]) && isset($_POST["subject"])){
使用空值检查。这将确保邮件功能的数据可用性。还尝试使用以下标题扩展邮件功能。
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = 'From: '.$email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail("abcsojf@gmail.com",$subject, $message, $headers);
通过以下三个步骤,您将有希望获得所需的邮件。