php
2017-01-20 133 views -1 likes 
-1

想发送邮件在php表单提交。但下面的代码不起作用。无法找出我出错的地方。发送邮件在php表单提交

<input name="add" type="submit" id="add" value="Send Requets"> 

<?php 
    if (isset($POST['add'])) { 
     $From ='[email protected]'; 
     $To = '[email protected]'; 
     $Subject = 'Leave Request'; 
     $body = 'You have received a leave request'; 
     $headers = 'From: $From \r\n'; 
     mail($To, $Subject, $body, $headers); 
    } 
?> 
+0

请显示完整表格 – Cashbee

+0

你在哪里使用这个函数localhost或开发服务器? –

+0

本地主机正在使用.....完整的代码是不需要的,因为所有其他部分工作正常。 –

回答

0

那么既然你使用本地主机,这是不会工作,除非你配置本地主机发送电子邮件。

您可以使用sendmail包从本地主机发送邮件,sendmail包在XAMPP中为inbuild。所以,如果您使用XAMPP,那么您可以轻松地从本地主机发送邮件。

例如,您可以配置C:\xampp\php\php.ini and c:\xampp\sendmail\sendmail.ini让gmail发送邮件。

在C:\ xampp \ php \ php.ini中找到extension = php_openssl.dll,并从该行的开头删除分号以使SSL适用于localhost的gmail。

在php.ini文件

找到[mail function]和改变

SMTP=smtp.gmail.com 
smtp_port=587 
sendmail_from = [email protected] 
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

替换sendmail.ini所有现有的代码与下面的代码

smtp_server=smtp.gmail.com 
smtp_port=587 
error_logfile=error.log 
debug_logfile=debug.log 
[email protected] 
auth_password=your-gmail-password 
[email protected] 

然后你做:)

记使用XAMMP控制面板重新启动服务器,以使更改生效。

0

你正在本地主机上运行此功能,请记住!邮件功能在本地主机上不起作用!如果你想在本地主机上发送邮件,你必须做SMTP配置!或者你必须上传这段代码到开发服务器,它会在那里工作很好

+0

谢谢。本地主机上的SMTP配置的任何良好的链接? –

+0

http://stackoverflow.com/questions/5342822/php-mail-function-on-localhost –

+0

http://stackoverflow.com/questions/18288007/php-send-mail-from-localhost –

相关问题