2017-01-02 2 views
1

Я использую класс SwiftMailer для отправки почты с использованием функции php mail() или SMTP в зависимости от конфигурации моего приложения (разработка или производство). Мой код выглядит следующим образом:Класс Swift_Transport_MailTransport устарел с версии 5.4.5 и будет удален в 6.0. Вместо этого используйте Sendmail или SMTP-транспорт.

// Default mailer: php mail() function 
$this->transport = \Swift_MailTransport::newInstance(); 

// If a SMTP host is defined 
if (isset($_SITE['site_smtp_host'])) { 
    $this->transport = \Swift_SmtpTransport::newInstance($_SITE["site_smtp_host"], 587) 
        ->setUsername($_SITE["site_smtp_user"]) 
        ->setPassword($_SITE["site_smtp_pass"]); 
    } 

С SwiftMailer 5.4.5 Я получаю устаревания уведомление:

Исключение: Неизвестная ошибка (16384): Swift_Transport_MailTransport класс устаревшим, начиная с версии 5.4. 5 и будет удален в 6.0. Вместо этого используйте транспорт Sendmail или SMTP.

Должен ли я использовать Swift_SendmailTransport, поскольку я использовал Swift_MailTransport? Будет ли это работать в той же среде? Использует ли он также функции php mail()? Если нет, возможно ли использовать функцию php mail() с помощью SwiftMailer?

ответ

1

Прежде всего, о устаревания с быстрой сайта почтовой программы:

Он сообщил, что пользователи не используют этот транспорт, если это вообще возможно , поскольку ряд особенностей плагина не может быть использован в сочетании с этой транспорта из-за внутреннего интерфейса в самом PHP.

Уровень сообщения об ошибках с этим транспортом невероятно слаб, снова из-за ограничений функции внутренней почты PHP(). Вы получите результат «все или ничего» от отправки.

Если вам нужно 100% совместимое решение, необходимо проверить php.ini настройки и платформы OS http://php.net/manual/en/mail.configuration.php

для платформы Unix будет достаточно, чтобы назвать ->setCommand с ini_get("sendmail_path") значением. Для поддержки платформы Windows необходимо проверить опцию smtp.

 Смежные вопросы

  • Нет связанных вопросов^_^