2016-10-22 2 views
0

ich diese Störung erhalte, wenn auf meiner Zielseite fülle Form: Hier wird in thankyou.phpSMTP-Fehler: Verbindung zum SMTP-Host konnte nicht hergestellt werden. nicht funktioniert

<?php 
    require 'class.phpmailer.php'; 
    if(isset($_POST['submit'])) 
    { 
     $mail = new PHPMailer; 
     $mail->isSMTP(); 
     $mail->Host = 'webmail.example.com'; 
     $mail->Port = 587; 
     $mail->SMTPSecure = 'tls'; 
     $mail->SMTPAuth = true; 
     $mail->Username = 'digital'; 
     $mail->Password = '*******'; 
     $mail->setFrom('[email protected]', 'example'); 
     $mail->addReplyTo('[email protected]', 'example'); 
     $mail->addAddress('[email protected]', 'example'); 
     $name_field = $_POST['name']; 
     $mobile_field = $_POST['mobile']; 
     $project_field = $_POST['project']; 
     $utm_source_field = $_POST['USOURCE']; 
     $utm_medium_field = $_POST['UMEDIUM']; 
     $utm_campaign_field = $_POST['UCAMPAIGN']; 

     $mail->Subject = "Website Inquiry - $project_field"; 
     $mail->msgHTML($body); 

     if (!$mail->send()) { 
      $error = "Mailer Error: " . $mail->ErrorInfo; 
      ?> 
      <script>alert('<?php echo $error ?>');</script><?php 
     } 
     else { 
      echo ''; 
      header("Location: thankyou.html"); 
     } 
    } 
?> 

Mit der gleichen Einstellung, um den Code, wenn ich auf einem anderen Server-Dateien zu, ohne dass feine arbeitet Problem. Kann mir jemand sagen, wie ich dieses Problem lösen kann?

Danke,

Antwort

0

Nur um sicher zu machen, haben Sie ersetzen example.com mit Ihrem tatsächlichen SMTP-Server im Code?

Wenn nicht, ist das Ihr Problem: Verwenden Sie einen echten Server.

Zweitens, ich feststellen, dass Sie die Sub-Domain verwendet. Webmail *

Sind Sie sicher, dass Domain verweist auf einen SMTP-Server, oder es nur die Web-Adresse für die Benutzer ihre E-Mails zu überprüfen?

Normalerweise SMTP-Server sind subdomained als: smtp.example.com

Sie in Ihren DNS-Einträgen überprüfen Sonde für einen E-Mail-Server so zu sehen:

dig exmaple.com mx

Die Rückkehr Liste von MX-Servern sind gute Kandidaten zu versuchen.

Angenommen, Sie haben den Server korrekt: Einige ISP blockieren in einigen Ländern Mail-Ports, um Spam zu verhindern. Sie können Ihre Netzwerkverbindung debuggen, indem Sie telnet manuell vom Terminal aus verwenden.

telnet webmail.example.com 587

Wenn Sie eine interaktive Antwort erhalten, dann könnten Sie herausfinden es etwas mit der Authentifizierung zu tun hat. Wenn Sie keine Antwort erhalten, wissen Sie, dass das Problem im Netzwerktransport liegt.

Überprüfen Sie, ob Ihr ISP den Port 587 zulässt und dass der SMTP-Server den Firewall-Port geöffnet hat.

+0

1. ja, ich ersetzte url durch Example.com – Mansoor

+0

2. host = webmail.example.com ist korrekt und habe zuvor verwendet, die auch funktionierte. Gibt es etwas falsch mit PHP-Code? – Mansoor

+0

Ja, der Code sieht gut aus für mich. Haben Sie versucht, telnet vom Terminal aus zu starten ?: 'telnet webmail.example.com 587' Schließt das? – Cyril

Verwandte Themen