mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-02-20 21:04:11 +08:00
Example how to use PROXYAUTH
This commit is contained in:
parent
ca249bcced
commit
5c21fea5d7
2 changed files with 53 additions and 0 deletions
20
plugins/login-proxyauth-example/LICENSE
Normal file
20
plugins/login-proxyauth-example/LICENSE
Normal file
|
@ -0,0 +1,20 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 RainLoop Team
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
33
plugins/login-proxyauth-example/index.php
Normal file
33
plugins/login-proxyauth-example/index.php
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
class LoginProxyauthExamplePlugin extends \RainLoop\Plugins\AbstractPlugin
|
||||
{
|
||||
const
|
||||
NAME = 'Login PROXYAUTH',
|
||||
VERSION = '1.0',
|
||||
RELEASE = '2024-03-12',
|
||||
REQUIRED = '2.35.3',
|
||||
CATEGORY = 'Login',
|
||||
DESCRIPTION = 'IMAP login using PROXYAUTH';
|
||||
|
||||
public function Init() : void
|
||||
{
|
||||
$this->addHook('imap.before-login', 'beforeLogin');
|
||||
$this->addHook('imap.after-login', 'afterLogin');
|
||||
}
|
||||
|
||||
public function beforeLogin(\RainLoop\Model\Account $oAccount, \MailSo\Net\NetClient $oImapClient, \MailSo\Net\ConnectSettings $oSettings) : void
|
||||
{
|
||||
if ('example.com' === $oAccount->Domain()->Name()) {
|
||||
$oSettings->username = 'AdminUsername';
|
||||
$oSettings->passphrase = 'AdminPassword';
|
||||
}
|
||||
}
|
||||
|
||||
public function afterLogin(\RainLoop\Model\Account $oAccount, \MailSo\Imap\ImapClient $oImapClient, bool $bSuccess)
|
||||
{
|
||||
if ($bSuccess && 'example.com' === $oAccount->Domain()->Name()) {
|
||||
$oImapClient->SendRequestGetResponse('PROXYAUTH', array($oImapClient->EscapeString($oAccount->IncLogin())));
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue