2016-11-14 174 views
0

嗨,我使用smtp最新文件,并检查网上所有的解决方案,我的SMTP php邮件工作本地主机不工作在服务器我的服务器的网络邮件工作Fine.First我插入数据到我的数据库然后那些数据我想要发送管理员电子邮件ID我的数据插入数据库也邮件发送工作正常本地主机,但给服务器上的错误,它给服务器连接失败。我与我的托管服务器支持论坛与我们联系,但他们说这是你的代码问题 这是我的PHP代码SMTP邮件不工作服务器在本地主机上工作精细

<?php 
    if(isset($_POST['Isubmit'])){ 
    $rname= $_POST['Iname']; 
    $remail= $_POST['Iemail']; 
    $rcontact= $_POST['Icontact']; 
    $rmessage= $_POST['Icomment']; 
    $rcourse= $_POST['Icourse']; 
    $date=date("Y-m-d"); 
$sql=mysqli_query($connect,"INSERT INTO enquiry(`NAME`,`EMAIL_ID`,`MOBILE_NO`,`COMMENT`,`SUBJECT`,`IS_DELETED`,`DATE`)VALUES('".$rname."','".$remail."','".$rcontact."','".$rmessage."','".$rcourse."','1','".$date."')"); 

//Mail Send Code 


$ToEmail = '[email protected]'; 
$EmailSubject = 'Site contact form'; 
$MESSAGE_BODY = "Dear Sir/Mam,"."\n" ."\n"."New Contact Details are - "."\n"."\n"; 
$MESSAGE_BODY .= "Full Name: ".$rname."\n"."\n"; 
$MESSAGE_BODY .= "Email: ".$remail."\n"."\n"; 
$MESSAGE_BODY .= "Phone: ".$rcontact."\n"."\n"; 
$MESSAGE_BODY .= "Message: ".$rmessage."\n"."\n"; 
$MESSAGE_BODY .= "Course: ".$rcourse."\n"."\n"; 
//SMTP needs accurate times, and the PHP time zone MUST be set 
//This should be done in your php.ini, but this is how to do it if you don'thave access to that date_default_timezone_set('Etc/UTC'); 
     require 'PHPMailer-master/PHPMailerAutoload.php'; 
     //Create a new PHPMailer instance 
    $mail = new PHPMailer; 
    //Tell PHPMailer to use SMTP 
    $mail->isSMTP(); 
    //Enable SMTP debugging // 0 = off (for production use) 
    $mail->SMTPDebug = 0; 
//Ask for HTML-friendly debug output 
    $mail->Debugoutput = 'html'; 
//Set the hostname of the mail server 
    $mail->Host = 'smtp.gmail.com'; 
    //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission 
      $mail->Port = 465; 
    //Set the encryption system to use - ssl (deprecated) or tls 
     $mail->SMTPSecure = 'ssl'; 
    //Whether to use SMTP authentication 
    $mail->SMTPAuth = true; 
//Username to use for SMTP authentication - use full email address for gmail 
     $mail->Username = "[email protected]";//"[email protected]"; 
    //Password to use for SMTP authentication 
    $mail->Password = "yourpassword";//"[email protected]"; 
     //Set who the message is to be sent from 
     $mail->setFrom('[email protected]', 'Admin'); 
     $mail->addAddress($ToEmail); 
     //Set the subject line 
     $mail->Subject = 'Enquiry Mail'; 
     $mail->Body = $MESSAGE_BODY;//'this is test msg on 25-jun.'; 
     if(!$mail->Send()) { 
     echo "Mailer Error: " . $mail->ErrorInfo; 
     } else { 
      echo "Message sent!<br>"; 
      } 
     } 
+1

您是否善良并向我们解释您的问题与MySQL之间的关系?谢谢。 – FDavidov

回答

0

启用SMTP调试

$mail->SMTPDebug = 1; 

OR

$mail->SMTPDebug = 2; 

然后错误info会给你更多关于错误的信息

if (!$mail->Send()) 
{ 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} 
else 
{ 
    echo "Message sent!<br>"; 
} 
+0

服务器遇到内部错误或配置错误,无法完成您的请求。 –

+0

客户端 - >服务器:EHLO服务器名称 客户端 - >服务器:AUTH LOGIN 客户端 - >服务器:aHJkcHJlc3RpZ2Vwb2ludEBnbWFpbC5jb20 = 客户端 - >服务器:cHJlc3RpZ2Vwb2ludEAxMjM = SMTP错误:密码命令失败: SMTP错误:无法验证。 客户端 - >服务器:退回 SMTP connect()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 邮寄程序错误:SMTP连接()失败。 https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting –

+0

在两台服务器上依次显示错误 –

相关问题