/app/protected/extensions/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php
PHP | 54 lines | 24 code | 6 blank | 24 comment | 0 complexity | 01e8eaa565f1fb6638096cda02fc60ee MD5 | raw file
Possible License(s): GPL-3.0, BSD-3-Clause, LGPL-3.0, LGPL-2.1, BSD-2-Clause, GPL-2.0
- <?php
- /*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- /**
- * Handles PLAIN authentication.
- * @package Swift
- * @subpackage Transport
- * @author Chris Corbyn
- */
- class Swift_Transport_Esmtp_Auth_PlainAuthenticator
- implements Swift_Transport_Esmtp_Authenticator
- {
-
- /**
- * Get the name of the AUTH mechanism this Authenticator handles.
- * @return string
- */
- public function getAuthKeyword()
- {
- return 'PLAIN';
- }
-
- /**
- * Try to authenticate the user with $username and $password.
- * @param Swift_Transport_SmtpAgent $agent
- * @param string $username
- * @param string $password
- * @return boolean
- */
- public function authenticate(Swift_Transport_SmtpAgent $agent,
- $username, $password)
- {
- try
- {
- $message = base64_encode($username . chr(0) . $username . chr(0) . $password);
- $agent->executeCommand(sprintf("AUTH PLAIN %s\r\n", $message), array(235));
- return true;
- }
- catch (Swift_TransportException $e)
- {
- $agent->executeCommand("RSET\r\n", array(250));
- return false;
- }
- }
-
- }