在测试我们的邮件服务器时,我们偶然遇到了一个错误,该错误阻止了我们通过PHP发送邮件,尽管每个邮箱中的常规发送/接收都可以正常工作。我们正在运行单独的Ubuntu 18.04服务器,该服务器仅具有Mail-in-a-box,且所有必需组件都在运行。
在error.log文本文件中输出
PHP致命错误:未捕获的Swift_TransportException:预期的响应代码354,但得到的代码为“ 554”,并显示消息“ 554 5.5.1错误:没有有效的接收者\ r \ n”
PHP文件
$request_email = $_POST['request-email'];
$request_name = $_POST['request-name'];
$request_text = $_POST['request-text'];
$transport = (new Swift_SmtpTransport('data.abc.xy', 587, 'tls'))
->setUsername('contact@abc.xy')
->setPassword('*******')
->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));
$mailer = (new Swift_Mailer($transport));
$message = (new Swift_Message('Name: '. $request_name))
->setFrom(['' . $request_email => '' . $request_name])
->setTo(['contact@abc.xy'])
->setBody('E-Mail: ' . $request_email . $request_text)
->setContentType("text/html");
$result = $mailer->send($message);
Run Code Online (Sandbox Code Playgroud)
我们尝试的是重新安装所有Mail-in-a-box和所有组件,并检查所有内容是否存在拼写错误。收件人确实存在于我们的邮件服务器上,并且可以通过客户端手动接收和发送邮件。