Моя система:
Что я хочу сделать:
Выполните (кнопка на веб-сайте-> javascript-> ajax-> php) сценарий php mail_send.php (+ запрос) для отправки почты с функциями swiftmail.
Swiftmail должен использовать мой постфиксный SMTP-сервер для отправки почты.
Файлы swiftmail находятся в / Вар / WWW / HTML / ц / SwiftMailer /.
это http://ts.acegames.de/mail_send.php
или /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);
?>
Но я получаю 500-INTERNAL_SERVER_ERROR и следующий журнал:
/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/
Я не знаю, в чем проблема. Я просматривал каждый файл журнала (mail.log, syslog, apache2 logs, …), но я не нашел ничего связанного с этой ошибкой.
В сообщении об ошибке говорится, что он не может подключиться к указанному вами почтовому серверу. Вам нужно указать TLS следующим образом:
$transport = Swift_SmtpTransport::newInstance('acegames.de', 465, 'tls');
Узнайте больше здесь: Swiftmailer Руководство пользователя
У вас есть ошибка тайм-аута, я подозреваю, что это проблема порта, проверьте, доступен ли выходной порт или заблокирован.
Я имею в виду, может быть, какой-то порт между вашим клиентом и сервером заблокирован брандмауэром или политикой безопасности, политикой нежелательной почты и т. Д.
телнет acegames.de 465
Попытка 137.74.140.78 …
Подключен к acegames.de.
Побег символ «^]».
…
Соединение прервано внешним хостом.
телнет acegames.de 443
Попытка 137.74.140.78 …
Подключен к acegames.de.
Побег символ «^]».
…
Соединение прервано внешним хостом.
телнет acegames.de 80
Попытка 137.74.140.78 …
Подключен к acegames.de.
Побег символ «^]».
301 перемещена Постоянно
Переехал навсегда
Документ был перемещен сюда.
Apache / 2.4.10 (Debian) сервер на acegames.de Port 80
…
Соединение прервано внешним хостом.
Итак, если вы управляете почтовым сервером на acegames.de, пожалуйста, покажите содержимое mail.log (/var/log/mail.log). На порту 465 что-то есть, но соединение немедленно закрывается.