2015-06-03 35 views
-1

为什么邮件不去?

$sql="insert into landing_client_data(name,email,contact_no,company,ip,city,region,country,postal,utm_source,utm_medium,utm_term,utm_campaign,created_date) values('".$_POST['name']."', '".$_POST['email']."', '".$_POST['phone']."','".$_POST['company']."','".$ip."', '".$city."', '".$region."', '".$country."', '".$postal."', '".$utm_source."', '".$utm_medium."', '".$utm_term."', '".$utm_campaign."', '".$created_date."')"; 
 
\t \t 
 
$res=mysql_query($sql); 
 

 

 

 
//**AFTER THIS I DON'T KNOW WHETHER ITS GOING INSIDE 'if($res)' OR NOT** 
 

 

 

 

 
if($res){ 
 
require('PHPMailer-master/PHPMailerAutoload.php'); 
 
$mail = new PHPMailer; 
 
$mail->isSMTP();          
 
$mail->Host = 'smtp.gmail.com';      
 
$mail->SMTPAuth = true;        
 
$mail->Username = '[email protected]';    
 
$mail->Password = '[email protected]';       
 
$mail->SMTPSecure = 'tls';        
 
$mail->Port = 587; 
 

 

 

 
$mail->From = '[email protected]'; 
 
$mail->FromName = 'Sachin Patil CEO, Aarna Systems';          
 
$mail->setFrom('[email protected]', 'test'); 
 
$mail->[email protected]', 'test'); 
 

 

 

 
$mail->WordWrap = 50;        
 
$mail->isHTML(true);        
 

 
$mail->Subject = 'Enquiry: Ecommerce Website Design-'; 
 
$mail->Body = 'Enquiry Details:<br/> 
 
Name: '.$_POST['name'].'<br/> 
 
Email: '.$_POST['email'].'<br/> 
 
Phone: '.$_POST['phone'].'<br/> 
 
Company: '.$_POST['company'].'<br/>'; 
 
$mail->send(); 
 

 
// **NoT REACHING HERE** 
 
    
 
$host = $_SERVER['HTTP_HOST']; 
 
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
 
$extra = '/portfolio_ln/thank-you.php'; 
 
header("Location: http://$host$extra"); 
 
exit; 
 

 
}

一切都很好,但邮件不打算所需的电子邮件ID。为什么?发送邮件后它也应该重定向到'thankyou.php',但这不起作用。请告诉做什么?

回答

0

请使用下面的代码。这将打印邮件函数的数组响应。之后,我们需要检查[SMTPDebug][error_count:protected]值,如果价值观不那么就意味着有一些错误,或者如果它是0,则存在在你的代码中没有错误。此外,一旦检查[ErrorInfo],这将显示错误消息,如果有的话。

同时检查开关值$mail->SMTPSecure = 'tls''ssl'

$sql="insert into landing_client_data(name,email,contact_no,company,ip,city,region,country,postal,utm_source,utm_medium,utm_term,utm_campaign,created_date) values('".$_POST['name']."', '".$_POST['email']."', '".$_POST['phone']."','".$_POST['company']."','".$ip."', '".$city."', '".$region."', '".$country."', '".$postal."', '".$utm_source."', '".$utm_medium."', '".$utm_term."', '".$utm_campaign."', '".$created_date."')"; 

$res=mysql_query($sql); 

//**AFTER THIS I DON'T KNOW WHETHER ITS GOING INSIDE 'if($res)' OR NOT** 

if($res){ 
require('PHPMailer-master/PHPMailerAutoload.php'); 
//SMTP class 
require('PHPMailer-master/class.smtp.php'); 

$mail = new PHPMailer; 
$mail->isSMTP();          
$mail->Host = 'smtp.gmail.com';      
$mail->SMTPAuth = true;        
$mail->Username = '[email protected]';    
$mail->Password = '[email protected]';       
$mail->SMTPSecure = 'tls';        
$mail->Port = 587; 

$mail->From = '[email protected]'; 
$mail->FromName = 'Sachin Patil CEO, Aarna Systems';          
$mail->setFrom('[email protected]', 'test'); 
$mail->addReplyTo('[email protected]', 'test'); 

$mail->WordWrap = 50;        
$mail->isHTML(true);        

$mail->Subject = 'Enquiry: Ecommerce Website Design-'; 
$mail->Body = 'Enquiry Details:<br/> 
Name: test<br/> 
Email: [email protected]<br/> 
Phone: 00447<br/> 
Company: het compnay<br/>'; 

print('<pre >'); 
print_r($mail); 
print('</pre>'); 
exit; 
//$mail->send(); 

// **NoT REACHING HERE** 

$host = $_SERVER['HTTP_HOST']; 
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
$extra = '/portfolio_ln/thank-you.php'; 
//header("Location: http://$host$extra"); 
//exit; 

让我知道是否有任何混淆关于此。

谢谢!

+0

感谢@AddWeb解决方案私人有限公司它的工作,现在,要求('PHPMailer-master/class.smtp.php');没有使用。 –

0

悉尼建筑,

希望你有检查的$mail响应。

请打印该回复并查找是否有任何错误。还要确保你不在本地主机上工作。如果您使用本地主机,则由于邮件服务器配置,邮件发送功能将不起作用。

请做一些改变,如下所述:

  1. 更换$mail->addReplyT line with $mail->addReplyTo('[email protected]', 'test')

  2. ,因为你需要使用双单引号,而使用单引号替换邮件发送者的身体部位。

    $mail->Body = 'Enquiry Details:<br/> 
        Name: '.$_POST["name"].'<br/> 
        Email: '.$_POST["email"].'<br/> 
        Phone: '.$_POST["phone"].'<br/> 
        Company: '.$_POST["company"].'<br/>'; 
    
  3. 另外补充线error_reporting(E_ALL);页面的第一行以及其他编程性问题的调试依然存在。

让我知道你是否面对任何查询/关注此事。

谢谢!

+0

@AddWed解决方案私人有限公司,我不知道,因为我无法打印内部“如果($水库){回声‘里面什么’;退出;}”。它不打印任何东西。 –

+0

@ AddWed Solution Pvt Ltd,以及如何检查$ mail的回复?请告诉。 –

+0

@AddWed解决方案私人有限公司,我不工作在localhost –