Swift Mailer только работает, когда доменное имя мало - PullRequest
0 голосов
/ 01 апреля 2019

Использование PHP Swift Mailer v 5.4.9 и установка следующих значений from работает:

    $transport = (new Swift_SmtpTransport($host, $port, 'ssl'))->setUsername($user)->setPassword($pass);

    $mailer  = new Swift_Mailer($transport);
    $message = (new Swift_Message($subject))->setBody($body['message'], $body['content_type']);
    $message->setFrom(['no-reply@test.com']);

Однако установка этого from НЕ работает:

    $transport = (new Swift_SmtpTransport($host, $port, 'ssl'))->setUsername($user)->setPassword($pass);

    $mailer  = new Swift_Mailer($transport);
    $message = (new Swift_Message($subject))->setBody($body['message'], $body['content_type']);
    $message->setFrom(['no-reply@testtesttest.com]);

Что здесь происходит? Почему длинные домены после символа @ не работают? Кажется, перестали рассылать электронные письма размером около 10 символов. У моей организации длинное имя (my-organization.com), и я хочу указать полное имя для этих писем, которые я отправляю.

Кажется, Swift_RfcComplianceException добавляется в vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php send в строке 85, и я попытался извлечь сообщение из этого исключения и получил пустую строку.

public function send(Swift_Mime_Message $message, &$failedRecipients = null)
{
    $failedRecipients = (array) $failedRecipients;

    if (!$this->_transport->isStarted()) {
        $this->_transport->start();
    }

    $sent = 0;

    try {
        $sent = $this->_transport->send($message, $failedRecipients);
    } catch (Swift_RfcComplianceException $e) {
        foreach ($message->getTo() as $address => $name) {
            $failedRecipients[] = $address;
        }
    }

    return $sent;
}
...