我的系统:
我想做什么:
执行(网站上的按钮 - > javascript-> ajax-> php)php脚本mail_send.php(+查询)以使用swiftmail函数发送邮件。 Swiftmail应该使用我的postfix SMTP-Server发送邮件。 swiftmail文件位于 / var / www / html / ts / 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("USER@acegames.de");
$transport->setPassword("PASS");
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Teamspeak Error Report');
$message->setFrom(array('USER@acegames.de' => 'USER'));
$message->setTo(array('report@acegames.de' => '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日志,...),但我还没有发现任何与此错误相关的内容。
答案 0 :(得分:1)
错误消息表明它无法连接到您指定的邮件服务器。你需要像这样指定TLS:
$transport = Swift_SmtpTransport::newInstance('acegames.de', 465, 'tls');
在此处阅读更多内容:Swiftmailer Manual
答案 1 :(得分:0)
你有超时错误,我怀疑这是一个端口问题,检查输出端口是否可用或被阻止。
我的意思是客户端和服务器之间的某个端口可能被防火墙或安全策略,垃圾邮件策略等阻止。
答案 2 :(得分:0)
<强>的telnet acegames.de 465 强> 尝试137.74.140.78 ... 连接到acegames.de。 转义字符是“^]”。 ... 连接由外部主机关闭。
<强>的telnet acegames.de 443 强> 尝试137.74.140.78 ... 连接到acegames.de。 转义字符是“^]”。 ... 连接由外部主机关闭。
<强>远程登录acegames.de 80 强> 尝试137.74.140.78 ... 连接到acegames.de。 转义字符是“^]”。 301已移动永久
永久移动
文档曾在这里移动。
在acegames.de端口80的Apache / 2.4.10(Debian的)服务器 ... 连接由外部主机关闭。
答案 3 :(得分:0)
因此,如果您控制acegames.de上的邮件服务器,请显示mail.log(/var/log/mail.log)的内容。在端口465上有一些东西,但是连接正在立即关闭。