1

(@ mother_company.xyzタイプの電子メールの場合)ログインするための代替方法を実装して、それを課したいと思います。

その理由は、電子メールプロバイダー(この場合はExchange)にパスワードの回復、パスワードの盗難を防ぐためのパスワードの保存を任せ、メールサーバー管理者にアカウントを渡す仕事を任せるためです(また、メールアドレスの所有者の確認が不要になり、アカウントは最初のログイン時に自動作成されます)。

Zend_MailとPearNet:: SMTPを見てきましたが、SMTP認証だけを許可しているようには見えず、電子メールを送信する必要があります。

PHP SMTPクラスが存在しますか(できればスタンドアロン、できれば維持されます)、すべてのSMTP認証タイプとすべての暗号化メソッド(SSL、TLS、StartTLSなど)を実行でき、提示された目的のために変更する必要はありません(また、有用なものを返す必要があります)ログインが成功したか失敗したかを判断するためのコード)

そのようなクラスが(ドメイン名のみに基づいて)試用版を介してSMTP接続データを自動構成し、キャッシュ/ストレージの構成を返すことができれば便利です。

4

2 に答える 2

1

php5用のSwiftmailerメールツールがあります。いくつかのコンポーネントで構成されています。このコンポーネントの1つは、Swift_SmtpTransportです。これは、高度に構成可能なクラスであるSwift_Transport_EsmtpTransportを拡張します。Uは、このクラスのstart()メソッドを使用して、AUTH要求が成功したかどうかを確認できます。

require_once("lib/swift_required.php");

$swiftMailerSMTP=Swift_SmtpTransport::newInstance("smtp.gmail.com", 587, "tls")
    ->setUsername("john.doe@domain.tld")
    ->setPassword("iforgotmypassword")
;

//throws Swift_TransportException on auth failure
$swiftMailerSMTP->start();

//end the connection, just in case the current script is going to run for a long while
$swiftMailerSMTP->stop();
$swiftMailerSMTP=null;
于 2012-07-02T21:31:52.190 に答える
1

これをどのように処理したいか正確にはわかりません。SMTP AUTH は、メール クライアントからメール サーバーに送信される単純なコマンドです。メール サーバーは、何らかのデータベースに対してクライアントを認証します。あなたの考えは、認証の動きを経て、AUTHコマンドが成功したかどうかを返すことができる「偽の」phpメールクライアントをどうにかして持つことだと思います。

うまくいくかもしれない方法を考えることはできますが、維持されたクラスについては知りません。それは少し「ハックな」方法であるため、クラスを見つけることができるとは思えません。

認証の交換である場合は、LDAP 認証を使用しないでください。かなり簡単に行うことができます.php LDAPモジュールは、あなたとあなたの認証を適切に実装するために維持されます(これは常に良いことです).

于 2012-06-28T16:21:21.510 に答える