2017-01-02 4 views
1

SwiftMailerクラスを使用して、アプリケーションの設定(開発または制作)に応じてphp mail()関数またはSMTPを使用してメールを送信しています。私のコードは次のようになります。Swift_Transport_MailTransportクラスはバージョン5.4.5以降で廃止され、6.0では削除されます。 SendmailまたはSMTPトランスポートを代わりに使用する

例外:UNKNOWN ERROR(16384):Swift_Transport_MailTransport クラスは、バージョン5.4で廃止されました。

// 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以来、私は、この非推奨の通知を取得しています。 5で削除され、6.0で削除されます。 代わりにSendmailまたはSMTPトランスポートを使用してください。

Swift_SendmailTransportSwift_MailTransportとして使用しますか?それは同じ環境で動作しますか? php mail()関数も使用していますか?そうでない場合は、SwiftMailerでphp mail()関数を使用することはできませんか?

答えて

1

Swift Mailerのサイトから廃止に関するすべてのまず、:

すべての可能な でプラグイン機能の数が このと一緒に使用することはできませんので、場合、ユーザーは、このトランスポートを使用しないことをお勧めしますPHP自体の内部インタフェースによる転送

このトランスポートのエラー報告レベルは、PHPの内部のmail()関数の制限のために再び と非常に弱いです。送信の結果はすべて になります。

あなたは、100%互換性のあるソリューションが必要な場合は、ini_get("sendmail_path")値で->setCommandを呼び出すには十分だろうUNIXプラットフォームの場合php.ini設定やOSプラットフォームhttp://php.net/manual/en/mail.configuration.php

をチェックする必要があります。 Windowsプラットフォームのサポートでは、smtpオプションをチェックする必要があります。

関連する問題