2016-12-21 2 views
0

Mein System:Swiftmailer mail_send.php Fehler 500-Internal-Server-Fehler (Log: Timed Out)

  • Betriebssystem: Linux VServer
  • Webserver: apache2 Mailserver (mit IMAP): Dovecot
  • MTA (MailTransportAgent): Postfix + postfix.admin (Webapp)
  • meine Domain verwalten: acegames.de (137.74.140.78)
  • TLS-Mail-Verschlüsselung über 465 Port arbeitet

Was ich tun möchte:

Execute (Button auf Website-> Javascript-> AJAX> php) PHP-Skript mail_send.php (+ query) Mail mit swiftmail Funktionen zu senden. Swiftmail sollte meinen postfix SMTP-Server verwenden, um die Mail zu senden. Die Swiftmail-Dateien befinden sich in /var/www/html/ts/swiftmailer/.

dies http://ts.acegames.de/mail_send.php oder /var/www/html/ts/mail_send.php:

<?php 
require_once 'swiftmailer/lib/swift_required.php'; 

$error = $_GET['err']; $time = $_GET['time']; $user = $_GET['user']; 

$transport = Swift_SmtpTransport::newInstance('acegames.de', 465); 
$transport->setUsername("[email protected]"); 
$transport->setPassword("PASS"); 


$mailer = Swift_Mailer::newInstance($transport); 


$message = Swift_Message::newInstance('Teamspeak Error Report'); 
$message->setFrom(array('[email protected]' => 'USER')); 
$message->setTo(array('[email protected]' => 'ts3 report')); 
$message->setBody(
'<html>' . 
' <head></head>' . 
' <body>' . 
' <p>Reported Error: ' . $error . '</p>' . 
' <p>Time: ' . $time . '</p>' . 
' <p>User: ' . $user . '</p>' . 
' </body>' . 
'</html>', 'text/html'); 




// Send the email 
$result = $mailer->send($message); 
?> 

Aber ich bekommen, was ist ein 500-INTERNAL_SERVER_ERROR und das folgende Protokoll: /var/log/apache2/error.log:

[:error] [pid 23732] [client 188.174.41.220:49670] PHP Fatal error: Uncaught exception 'Swift_TransportException' with message 'Connection 
to acegames.de:465 Timed Out' in 
/var/www/html/ts/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php:404\nStack 
trace:\n#0 
/var/www/html/ts/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(289): 
Swift_Transport_AbstractSmtpTransport->_getFullResponse(0)\n#1 
/var/www/html/ts/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(117): 
Swift_Transport_AbstractSmtpTransport->_readGreeting()\n#2 
/var/www/html/ts/swiftmailer/lib/classes/Swift/Mailer.php(79): 
Swift_Transport_AbstractSmtpTransport->start()\n#3 
/var/www/html/ts/mail_send.php(36): 
Swift_Mailer->send(Object(Swift_Message))\n#4 {main}\n thrown in 
/var/www/html/ts/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php 
on line 404, referer: https://ts.acegames.de/ 

ich weiß nicht, was das Problem ist. Ich habe jede Logdatei durchsucht (mail.log, syslog, apache2 logs, ...), aber ich habe nichts gefunden, was mit diesem Fehler zusammenhängt.

Antwort

1

Die Fehlermeldung besagt, dass es keine Verbindung zu dem von Ihnen angegebenen Mail-Server herstellen kann. Sie müssen TLS wie folgt angeben:

$transport = Swift_SmtpTransport::newInstance('acegames.de', 465, 'tls'); 

Lesen Sie mehr hier: Swiftmailer Manual

+0

gute Idee, aber das hat nichts behoben ... ive lesen, dass wenn Port 465 gesetzt ist, müssen Sie nicht angeben, Tls, weil es für diesen Port Standard ist. Ich weiß nicht, wo ich es gelesen habe, aber selbst mit 'tls' gibt es mir immer noch einen 500-INTERNAL_SERVER_ERROR und genau das gleiche Protokoll. –

0

Sie Timeout-Fehler, ich vermute, dass es ein Port Problem ist, prüfen Sie, ob Ausgangstor vorhanden oder blockiert ist.

Ich meine vielleicht einige Port zwischen dem Client und dem Server durch eine Firewall oder Sicherheitspolitik blockiert sind, Spam Politik usw.

+0

also Hexenhafen meinst du eigentlich. Entschuldigung, aber ich weiß nicht den "Ausgangsport". Ich kann keine Dokumente über einen Port finden, wie Sie ihn beschrieben haben. –

+0

Mein Hoster sagt, dass sie die Ports des Servers nicht blockieren und ich auch nicht. –

+0

nur wenn ich "telnet acegames.de smtp" eintippe sendet es die Nachricht "220 pph-server.de Postfix ESMTP (Debian/GNU)" und reagiert tatsächlich auf die Eingabe. –

0

Mehr von @hokusai angeforderten Infos:

telnet acegames.de 465 Probieren 137.74.140.78 ... Mit acegames.de verbunden. Escape-Zeichen ist '^]'. ... Verbindung vom fremden Host geschlossen.

telnet acegames.de 443 Versuch 137.74.140.78 ... Verbunden mit acegames.de. Escape-Zeichen ist '^]'. ... Verbindung vom fremden Host geschlossen.

telnet acegames.de 80 Versuche 137.74.140.78 ... Mit acegames.de verbunden. Escape-Zeichen ist '^]'. 301 Moved

Dauerhaft

Dauerhaft Verschoben

Das Dokument hier bewegt hat.

Apache/2.4.10 (Debian) Server bei acegames.de Port 80 ... Verbindung vom fremden Host geschlossen.

0

Also, wenn Sie den Mailserver auf acegames.de kontrollieren, zeigen Sie bitte den Inhalt der mail.log (/var/log/mail.log). Port 465 enthält etwas, aber die Verbindung wird sofort geschlossen.

Verwandte Themen