php命令isset($\u post)提交命令不发送电子邮件

php命令isset($\u post)提交命令不发送电子邮件,php,isset,Php,Isset,我下面的代码没有向邮件服务器发送电子邮件以订阅邮件列表,我不明白它为什么不起作用。提交后会显示感谢网页,没有收到列表处理程序发送的任何响应,如果在电子邮件中手动输入,我会收到响应 <?php //thanku webpage routine if (isset($_POST['submit'])) { ?> <script type="text/javascript"> window.location = "http://www.thankyou we

我下面的代码没有向邮件服务器发送电子邮件以订阅邮件列表,我不明白它为什么不起作用。提交后会显示感谢网页,没有收到列表处理程序发送的任何响应,如果在电子邮件中手动输入,我会收到响应

<?php

//thanku webpage routine
if (isset($_POST['submit']))
   {  
    ?>
<script type="text/javascript">
window.location = "http://www.thankyou web url here ";
</script> 

<?php
}
if(isset($_POST['email'])) {
$to = "email address here" ;
$message = "SUBSCRIBE list name" ;
$subject = " ";
$email = $_POST["email"] ;
$headers = 'From: '.$email."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

  }
?>

<form class="rform" method="post" action="https://webform web url"> 

<fieldset><legend><strong>Signup</strong></legend>
<h4> mailing list text here:</h4>

<p><label for="email">Email address:</label> <input title="email address."    name="email" type='email' pattern=".+(@tvs.ac.uk)|.+(@tvsa.ac.uk)|.+ (@research.gla.ac.uk)" required />

</p>
 <input style="float: right;" type="submit" name="submit" value="Subscribe"   /> </fieldset> </form>

window.location=”http://www.thankyou “此处的网址”;
注册
此处的邮件列表文本:
电邮地址:


无需重定向javascript。此外,一旦完成了所需的逻辑,就应该执行重定向。试试下面的脚本

<?
if(isset($_POST['email'])) {
   $to = "email address here" ;
   $message = "SUBSCRIBE list name" ;
   $subject = " ";
   $email = $_POST["email"] ;
   $headers = 'From: '.$email."\r\n".
   'Reply-To: '.$email."\r\n" .
   'X-Mailer: PHP/' . phpversion();
   mail($to, $subject, $message, $headers);

   header('location:http://www.thankyou web url here');
}
?>

  • 检查服务器的SMTP设置。您的SMTP是否在php.ini中激活?
    • 尝试检查服务器日志。它可能会给你更多的信息
例如,我在一台空白服务器上进行了一次尝试:

PHP警告:mail():无法连接到位于的mailserver “localhost”端口25,验证您的“SMTP”和 php.ini中的“smtp_端口”设置或在中使用ini_set() […]index.php,第20行,参考:


您是否收到任何错误,或者为什么您知道它不会尝试发送电子邮件?您的意思是如果(设置($\u POST['submit']),然后重定向到其他页面!因此,当表单提交时,在运行代码的其他部分之前,您将被重定向到另一个页面!嗨,安,谢谢你的快速回复,列表管理员通常会发送一封电子邮件,如果我没有收到的话!。。谢谢..singhyhi sohey,是的,第一个链接是Thankyu网页,第二个链接是web表单的位置(短链接存在)…谢谢您的帮助…singhyhi ann,我没有收到任何错误,但我无法在服务器端进行检查!。。。谢谢…Singhhi siddiq,谢谢你的代码片段,但我没有得到listhandler的响应,例如,如果我手动将电子邮件发送到,主题为空,并将订阅列表名称放在邮件正文中,我会得到很好的响应。。。。我想知道问题出在哪里…我有相同的代码在不同的列表上工作,响应很好…再次感谢您宝贵的时间…Singhhi loic感谢您的建议我早上去时会尝试询问服务器人员…确保没有错误等…感谢@Fred ii提到的singhyAs,阅读这个问题:嗨,洛伊奇,谢谢你。。