使用PHP邮件功能发送邮件XAMPP 5.5-19

问题描述:

我是的新手,希望编写一个程序来接收表单中的信息并使用php邮件功能发送该信息。我正在使用XAMPP 5.5-19进行设置。我研究了一些关于如何让这个程序运行但没有成功的主题。当我看到我的phpinfo();记载以下内容:使用PHP邮件功能发送邮件XAMPP 5.5-19

SMTP = smtp.gmail.com
SMTP_PORT = 587
sendmail_path =/usr/sbin目录/ sendmail的-t -i -F
sendmail_from =没有价值

我的代码

</head> 
<body> 
    <h3>Need More Information Contact Us!</h3> 
    <div> 
     <form method="post" action=""> 
      <label for="name">Name</label> 
      <div> 
       <input type="text" name="name" /> 
      </div> 
      <label for="tele">Number</label> 
      <div> 
       <input type="text" name="tele" /> 
      </div> 
      <label for="subject">Subject</label> 
      <div> 
       <textarea rows="5" cols="40" name="subject"></textarea> 
      </div> 
      <input type="submit" value="Submit" name="sub" /> 
     </form> 
     <?php 
      if(isset($_POST['sub'])) 
      { 
       $name = $_POST['name']; 
       $number = $_POST['tele']; 
       $subject = $_POST['subject']; 
       $to = '[email protected]'; 
       mail($to, $subject, $name,$number); 
      } 
     ?> 
    </div> 
</body> 

我知道这是一个反复出现的话题,但我对我研究过的文章没有好运。感谢大家提供意见和反馈。

你在使用localhost吗?

如果是,那么SMTP在本地主机上不起作用,否则你的代码是完美的。

+0

是的我在本地主机上工作我试图重新配置我的php.ini以下链接建议从安东尼吉布斯。 – meddy 2014-12-13 18:16:39

+0

他们,SMTP不在本地主机上工作 – 2014-12-13 18:17:39

+0

有什么可以做的,以解决SMTP问题?? – meddy 2014-12-13 18:21:02

把你的PHP部分放在任何html之前。这样,如果您的用户提交有效,您可以重定向页面。

请参阅php标题。也查看网络上的用户数据验证方法。基本规则,永远不要信任用户提交数据。

话虽如此,在您的表单中添加一个隐藏的字段,用于查看何时使用表单。

`<input type='hidden' name='sub' value='1'>` 

你的邮件功能基本上有三个部分,第4个是可选的。你可以用它来获得真正的幻想。

mail(to,subject,message);

所以在你的代码;

$msg = $name."\r\n"; 
$msg .= $number."\r\n"; 
mail($to, $subject, $msg); 

你可以验证; $ mail_status = mail($ to,$ subject,$ msg); 如果($ mail_status) {做某事}` 其他{做到这一点时,错误}

上XAMPP,如果没有错误,否则它将为空,否则将做{动作},depnding你怎么写代码

打开你的sendmail文件夹(/ usr/sbin/sendmail根据你的phpinfo)。 在sendmail.ini文件

; create debug log as debug.log (defaults to same directory as sendmail.exe) 
; uncomment to enable debugging 
debug_logfile=debug.log 

打开调试器做一个新的请求,并查看文件的debug.log说什么。例如缺少smtp.google.com的身份验证。

我还想指出,在全新安装中,您必须更新php.ini才能使用sendmail.exe,但我想这已经由您的phpinfo来判断了。

编辑:

可以肯定的,请检查您的php.ini文件,找到下面这行:

sendmail_path = 

如果它在它的前面注释掉了;,删除;。 根据我刚刚阅读的有关MAMP的sendmail的文章,您也可以尝试在路径后键入您的电子邮件地址。

例如:sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]

另一件事,因为你找不到sendmail.ini

是你的sendmail的文件夹中哪些文件?我相信sendmail脚本在MAMP上没有文件扩展名。在WAMP中它的一个可执行程序(.exe

+0

我的XAMPP文件包含一个sendmail.php文件,但nat一个sendmail.ini文件应该什么我做? – meddy 2014-12-13 19:00:23

+0

我更新了我的帖子,请阅读并尝试新的建议:) – KEK 2014-12-14 10:29:52