-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #4 from TheKingTermux/TheKingTermux-register+verif…
…ikasi+smtp Add some verification, register, and smtp functional
- Loading branch information
Showing
36 changed files
with
15,049 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
|
||
/** | ||
* PHPMailer Exception class. | ||
* PHP Version 5.5. | ||
* | ||
* @see https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project | ||
* | ||
* @author Marcus Bointon (Synchro/coolbru) <[email protected]> | ||
* @author Jim Jagielski (jimjag) <[email protected]> | ||
* @author Andy Prevost (codeworxtech) <[email protected]> | ||
* @author Brent R. Matzelle (original founder) | ||
* @copyright 2012 - 2020 Marcus Bointon | ||
* @copyright 2010 - 2012 Jim Jagielski | ||
* @copyright 2004 - 2009 Andy Prevost | ||
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License | ||
* @note This program is distributed in the hope that it will be useful - WITHOUT | ||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
* FITNESS FOR A PARTICULAR PURPOSE. | ||
*/ | ||
|
||
namespace PHPMailer\PHPMailer; | ||
|
||
/** | ||
* PHPMailer exception handler. | ||
* | ||
* @author Marcus Bointon <[email protected]> | ||
*/ | ||
class Exception extends \Exception | ||
{ | ||
/** | ||
* Prettify error message output. | ||
* | ||
* @return string | ||
*/ | ||
public function errorMessage() | ||
{ | ||
return '<strong>' . htmlspecialchars($this->getMessage(), ENT_COMPAT | ENT_HTML401) . "</strong><br />\n"; | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,139 @@ | ||
<?php | ||
|
||
/** | ||
* PHPMailer - PHP email creation and transport class. | ||
* PHP Version 5.5. | ||
* | ||
* @see https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project | ||
* | ||
* @author Marcus Bointon (Synchro/coolbru) <[email protected]> | ||
* @author Jim Jagielski (jimjag) <[email protected]> | ||
* @author Andy Prevost (codeworxtech) <[email protected]> | ||
* @author Brent R. Matzelle (original founder) | ||
* @copyright 2012 - 2020 Marcus Bointon | ||
* @copyright 2010 - 2012 Jim Jagielski | ||
* @copyright 2004 - 2009 Andy Prevost | ||
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License | ||
* @note This program is distributed in the hope that it will be useful - WITHOUT | ||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
* FITNESS FOR A PARTICULAR PURPOSE. | ||
*/ | ||
|
||
namespace PHPMailer\PHPMailer; | ||
|
||
use League\OAuth2\Client\Grant\RefreshToken; | ||
use League\OAuth2\Client\Provider\AbstractProvider; | ||
use League\OAuth2\Client\Token\AccessToken; | ||
|
||
/** | ||
* OAuth - OAuth2 authentication wrapper class. | ||
* Uses the oauth2-client package from the League of Extraordinary Packages. | ||
* | ||
* @see http://oauth2-client.thephpleague.com | ||
* | ||
* @author Marcus Bointon (Synchro/coolbru) <[email protected]> | ||
*/ | ||
class OAuth implements OAuthTokenProvider | ||
{ | ||
/** | ||
* An instance of the League OAuth Client Provider. | ||
* | ||
* @var AbstractProvider | ||
*/ | ||
protected $provider; | ||
|
||
/** | ||
* The current OAuth access token. | ||
* | ||
* @var AccessToken | ||
*/ | ||
protected $oauthToken; | ||
|
||
/** | ||
* The user's email address, usually used as the login ID | ||
* and also the from address when sending email. | ||
* | ||
* @var string | ||
*/ | ||
protected $oauthUserEmail = ''; | ||
|
||
/** | ||
* The client secret, generated in the app definition of the service you're connecting to. | ||
* | ||
* @var string | ||
*/ | ||
protected $oauthClientSecret = ''; | ||
|
||
/** | ||
* The client ID, generated in the app definition of the service you're connecting to. | ||
* | ||
* @var string | ||
*/ | ||
protected $oauthClientId = ''; | ||
|
||
/** | ||
* The refresh token, used to obtain new AccessTokens. | ||
* | ||
* @var string | ||
*/ | ||
protected $oauthRefreshToken = ''; | ||
|
||
/** | ||
* OAuth constructor. | ||
* | ||
* @param array $options Associative array containing | ||
* `provider`, `userName`, `clientSecret`, `clientId` and `refreshToken` elements | ||
*/ | ||
public function __construct($options) | ||
{ | ||
$this->provider = $options['provider']; | ||
$this->oauthUserEmail = $options['userName']; | ||
$this->oauthClientSecret = $options['clientSecret']; | ||
$this->oauthClientId = $options['clientId']; | ||
$this->oauthRefreshToken = $options['refreshToken']; | ||
} | ||
|
||
/** | ||
* Get a new RefreshToken. | ||
* | ||
* @return RefreshToken | ||
*/ | ||
protected function getGrant() | ||
{ | ||
return new RefreshToken(); | ||
} | ||
|
||
/** | ||
* Get a new AccessToken. | ||
* | ||
* @return AccessToken | ||
*/ | ||
protected function getToken() | ||
{ | ||
return $this->provider->getAccessToken( | ||
$this->getGrant(), | ||
['refresh_token' => $this->oauthRefreshToken] | ||
); | ||
} | ||
|
||
/** | ||
* Generate a base64-encoded OAuth token. | ||
* | ||
* @return string | ||
*/ | ||
public function getOauth64() | ||
{ | ||
//Get a new token if it's not available or has expired | ||
if (null === $this->oauthToken || $this->oauthToken->hasExpired()) { | ||
$this->oauthToken = $this->getToken(); | ||
} | ||
|
||
return base64_encode( | ||
'user=' . | ||
$this->oauthUserEmail . | ||
"\001auth=Bearer " . | ||
$this->oauthToken . | ||
"\001\001" | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<?php | ||
|
||
/** | ||
* PHPMailer - PHP email creation and transport class. | ||
* PHP Version 5.5. | ||
* | ||
* @see https://github.com/PHPMailer/PHPMailer/ The PHPMailer GitHub project | ||
* | ||
* @author Marcus Bointon (Synchro/coolbru) <[email protected]> | ||
* @author Jim Jagielski (jimjag) <[email protected]> | ||
* @author Andy Prevost (codeworxtech) <[email protected]> | ||
* @author Brent R. Matzelle (original founder) | ||
* @copyright 2012 - 2020 Marcus Bointon | ||
* @copyright 2010 - 2012 Jim Jagielski | ||
* @copyright 2004 - 2009 Andy Prevost | ||
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License | ||
* @note This program is distributed in the hope that it will be useful - WITHOUT | ||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
* FITNESS FOR A PARTICULAR PURPOSE. | ||
*/ | ||
|
||
namespace PHPMailer\PHPMailer; | ||
|
||
/** | ||
* OAuthTokenProvider - OAuth2 token provider interface. | ||
* Provides base64 encoded OAuth2 auth strings for SMTP authentication. | ||
* | ||
* @see OAuth | ||
* @see SMTP::authenticate() | ||
* | ||
* @author Peter Scopes (pdscopes) | ||
* @author Marcus Bointon (Synchro/coolbru) <[email protected]> | ||
*/ | ||
interface OAuthTokenProvider | ||
{ | ||
/** | ||
* Generate a base64-encoded OAuth token ensuring that the access token has not expired. | ||
* The string to be base 64 encoded should be in the form: | ||
* "user=<user_email_address>\001auth=Bearer <access_token>\001\001" | ||
* | ||
* @return string | ||
*/ | ||
public function getOauth64(); | ||
} |
Oops, something went wrong.