2017-11-19 2 views
0

Erstens, ich weiß nicht, ob ich einen Code für die Frage hochladen sollte. Der Grund ist, dass ich es allgemein betrachte. Aber jede Empfehlung ist willkommen.Localhost mailing und Remote

Jetzt habe ich ein PHP-Skript, mit phpmailer zu senden E-Mail-Bestätigung bei der Anmeldung. Es funktioniert perfekt auf localhost. Aber wenn ich es an die Fernbedienung übertrage, repliziert es nicht oder sendet keine E-Mails.

Irgendeine Idee warum ist das so? Ich habe nicht wieder an Mailer gearbeitet. Vielen Dank.

+0

Sind Sie ein externes SMTP (das ist der bevorzugte Weg ist) oder verwenden Sie Sendmail oder ähnlich wie die E-Mails gesendet? –

+0

Dies liegt wahrscheinlich daran, dass Ihr Hosting-Provider ausgehenden SMTP blockiert. Gehen Sie die Anweisungen im PHPMailer-Handbuch zur Fehlerbehebung durch. Suche auch vor dem Posten - diese Frage wurde schon oft gestellt. – Synchro

+0

Mögliches Duplikat von [SMTP-Konfiguration funktioniert nicht in Produktion] (https://stackoverflow.com/questions/39524110/smtp-configuration-not-working-in-production) – Synchro

Antwort

0

Sie müssen verstehen, wie SMTP-Server zuerst funktioniert.

Sie können mx-Hosts für Empfänger E-Mail-Domäne von DNS und dann E-Mail an diesen Host auf Port 25 (immer) ohne eigenen SMTP-Server (Port 25 auf Firewall auf lokale Firewall öffnen): How to, using PHP, ping an SMTP server and check MX records? oder mit phpMailer.

Get Domain dns MX-Aufzeichnungen/Host-Namen (PHP)

function getMX($hostname = "boo.xx", $show = 0){ 
    if(dns_get_mx($hostname, $mxhosts, $weights)) { 
     $i = 0; 
     $mxList = NULL; 
     foreach($mxhosts as $key => $host) { 
      if($show == 1) echo "Hostname: $host (Weight: {$weights[$key]}) <br>"; 
      $ip = gethostbyname($host); 
      if($show == 1) echo "IP " . $ip . "\n<br>"; 
      if($show == 1) echo "IP " . gethostbyaddr($ip) . "\n<br>"; 
      $mxList[$i]['host'] = $host; 
      $mxList[$i]['ip'] = $ip; 
      $mxList[$i]['weight'] = $weights[$key]; 
      $i++; 
     } 
     return $mxList; 
    } else { 
     echo "Could not find any MX records for $hostname\n"; 
    } 
} 
Verwandte Themen