forked from extern/egroupware
* EPL/mail: support SpamTitan REST API to manage spam, requires an API token
This commit is contained in:
parent
98d5e86121
commit
c37581f43c
@ -1362,7 +1362,7 @@ class admin_mail
|
||||
}
|
||||
|
||||
// If no EPL available, show that in spamtitan blur
|
||||
$content['spamtitan_blur'] = $GLOBALS['egw_info']['user']['apps']['stylite'] ? '' : lang('SpamTitian integration requires EPL version');
|
||||
$content['spamtitan_blur'] = $GLOBALS['egw_info']['user']['apps']['stylite'] ? '' : lang('SpamTitan integration requires EPL version');
|
||||
|
||||
$tpl->exec(static::APP_CLASS.'edit', $content, $sel_options, $readonlys, $content, 2);
|
||||
}
|
||||
|
@ -234,6 +234,10 @@
|
||||
<description for="acc_spam_api" value="SpamTitan API URL"/>
|
||||
<url id="acc_spam_api" blur="@spamtitan_blur" width="95%" maxlength="128"/>
|
||||
</row>
|
||||
<row>
|
||||
<description for="acc_spam_password" value="API Token"/>
|
||||
<passwd id="acc_spam_password" blur="@spamtitan_blur" width="95%" suggest="24"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
|
@ -1274,6 +1274,18 @@ class Account implements \ArrayAccess
|
||||
Credentials::delete($data['acc_id'], 0, Credentials::ADMIN);
|
||||
}
|
||||
|
||||
// store or delete SpamTitan credentials
|
||||
if ($data['acc_spam_api'] && $data['acc_spam_password'])
|
||||
{
|
||||
Credentials::write($data['acc_id'], $data['acc_spam_api'],
|
||||
$data['acc_spam_password'], Credentials::SPAMTITAN, 0,
|
||||
$data['acc_spam_cred_id']);
|
||||
}
|
||||
else
|
||||
{
|
||||
Credentials::delete($data['acc_id'], 0, Credentials::SPAMTITAN);
|
||||
}
|
||||
|
||||
// store notification folders
|
||||
Notifications::write($data['acc_id'], $data['notify_save_default'] ? 0 :
|
||||
($data['called_for'] ? $data['called_for'] : $GLOBALS['egw_info']['user']['account_id']),
|
||||
|
@ -74,10 +74,15 @@ class Credentials
|
||||
*/
|
||||
const COLLABORA = 64;
|
||||
|
||||
/**
|
||||
* SpamTitan API Token
|
||||
*/
|
||||
const SPAMTITAN = 128;
|
||||
|
||||
/**
|
||||
* All credentials
|
||||
*/
|
||||
const ALL = self::IMAP|self::SMTP|self::ADMIN|self::SMIME|self::TWOFA;
|
||||
const ALL = self::IMAP|self::SMTP|self::ADMIN|self::SMIME|self::TWOFA|self::SPAMTITAN;
|
||||
|
||||
/**
|
||||
* Password in cleartext
|
||||
@ -126,6 +131,7 @@ class Credentials
|
||||
self::ADMIN => 'acc_imap_admin_',
|
||||
self::SMIME => 'acc_smime_',
|
||||
self::TWOFA => '2fa_',
|
||||
self::SPAMTITAN => 'acc_spam_',
|
||||
);
|
||||
|
||||
/**
|
||||
|
@ -984,11 +984,23 @@ class mail_ui
|
||||
}
|
||||
if ($GLOBALS['egw_info']['apps']['stylite'] && $this->mail_bo->icServer->acc_spam_api)
|
||||
{
|
||||
stylite_mail_spamtitan::setActionItems($_action, $_items, array(
|
||||
if (strpos($user=$this->mail_bo->icServer->acc_imap_username, '@') === false)
|
||||
{
|
||||
if (!empty($this->mail_bo->icServer->acc_domain))
|
||||
{
|
||||
$user .= '@'.$this->mail_bo->icServer->acc_domain;
|
||||
}
|
||||
else
|
||||
{
|
||||
$user = $this->mail_bo->icServer->ident_email;
|
||||
}
|
||||
}
|
||||
stylite_mail_spamtitan::setActionItems($_action, $_items, $auth=[
|
||||
'user' => $user,
|
||||
'userpwd' => $this->mail_bo->icServer->acc_imap_password,
|
||||
'user' => $this->mail_bo->icServer->acc_imap_username,
|
||||
'api_url' => $this->mail_bo->icServer->acc_spam_api
|
||||
));
|
||||
'api_url' => $this->mail_bo->icServer->acc_spam_api,
|
||||
'api_token' => $this->mail_bo->icServer->acc_spam_password,
|
||||
]);
|
||||
|
||||
// sync aliases to SpamTitan when the first spam action in a session is used
|
||||
if (Api\Mail\Account::read($this->mail_bo->profileID)->acc_smtp_type !== 'EGroupware\\Api\\Mail\\Smtp' &&
|
||||
@ -996,11 +1008,7 @@ class mail_ui
|
||||
{
|
||||
$data = Api\Mail\Account::read($this->mail_bo->profileID)->smtpServer()->getUserData($GLOBALS['egw_info']['user']['account_id']);
|
||||
if (($m = stylite_mail_spamtitan::setActionItems('sync_aliases',
|
||||
array(array_merge((array)$data['mailLocalAddress'], (array)$data['mailAlternateAddress'])), array(
|
||||
'userpwd' => $this->mail_bo->icServer->acc_imap_password,
|
||||
'user' => $this->mail_bo->icServer->acc_imap_username,
|
||||
'api_url' => $this->mail_bo->icServer->acc_spam_api
|
||||
))))
|
||||
array(array_merge((array)$data['mailLocalAddress'], (array)$data['mailAlternateAddress'])), $auth)))
|
||||
{
|
||||
$msg[] = $m;
|
||||
}
|
||||
|
@ -579,8 +579,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail d
|
||||
sort order mail de Sortierreihenfolge
|
||||
source mail de Quelltext
|
||||
sources mail de HTML-Quellcode
|
||||
spamtitian api url mail de SpamTitian API URL
|
||||
spamtitian integration requires epl version mail de SpamTitian-Integration benötigt die EPL Version
|
||||
spamtitan api url mail de SpamTitan API URL
|
||||
spamtitan integration requires epl version mail de SpamTitan-Integration benötigt die EPL Version
|
||||
start new messages with mime type plain/text or html? mail de Sollen neue E-Mails als plain/text oder HTML Nachrichten verfasst werden?
|
||||
start reply messages with mime type plain/text or html or try to use the displayed format (default)? mail de Antworten auf und Inline-Weiterleiten von E-Mails im Text-, im HTML-Format oder entsprechend des Formats, in dem die E-Mail vom Sender ursprünglich verfasst wurde.
|
||||
step 1: imap - incoming mail mail de 1. Schritt: Posteingang (IMAP) einrichten
|
||||
|
@ -579,8 +579,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail e
|
||||
sort order mail en Sort order
|
||||
source mail en Source
|
||||
sources mail en Sources
|
||||
spamtitian api url mail en SpamTitian API URL
|
||||
spamtitian integration requires epl version mail en SpamTitian integration requires EPL version
|
||||
spamtitan api url mail en SpamTitan API URL
|
||||
spamtitan integration requires epl version mail en SpamTitan integration requires EPL version
|
||||
start new messages with mime type plain/text or html? mail en start new messages with MIME-type plain/text or HTML?
|
||||
start reply messages with mime type plain/text or html or try to use the displayed format (default)? mail en start reply messages with MIME-type plain/text or HTML or try to use the displayed format (default)?
|
||||
step 1: imap - incoming mail mail en Step 1: IMAP - incoming mail
|
||||
|
@ -483,8 +483,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail e
|
||||
sort order mail es-es Orden en la página
|
||||
source mail es-es Fuente
|
||||
sources mail es-es Fuentes
|
||||
spamtitian api url mail es-es URL del API SpamTitian
|
||||
spamtitian integration requires epl version mail es-es La integración de SpamTitan requiere la versión EPL
|
||||
spamtitan api url mail es-es URL del API SpamTitan
|
||||
spamtitan integration requires epl version mail es-es La integración de SpamTitan requiere la versión EPL
|
||||
start new messages with mime type plain/text or html? mail es-es ¿Comenzar nuevos mensajes con el tipo MIME plain/text o html?
|
||||
step 1: imap - incoming mail mail es-es Paso 1: IMAP - correo entrante
|
||||
step 2: folder mail es-es Paso 2: Carpeta
|
||||
|
@ -521,8 +521,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail i
|
||||
sort order mail it Ordinamento
|
||||
source mail it Sorgente
|
||||
sources mail it Sorgenti
|
||||
spamtitian api url mail it URL della API di spamTitan
|
||||
spamtitian integration requires epl version mail it L'integrazione di spamTitan richiede la versione EPL
|
||||
spamtitan api url mail it URL della API di spamTitan
|
||||
spamtitan integration requires epl version mail it L'integrazione di spamTitan richiede la versione EPL
|
||||
start new messages with mime type plain/text or html? mail it Iniziare nuovi messaggi con mime type plain/test o HTML
|
||||
start reply messages with mime type plain/text or html or try to use the displayed format (default)? mail it Iniziare i messaggi di risposta con mime type plain/text oppure provare a usare il formato mostrato (predefinito)?
|
||||
step 1: imap - incoming mail mail it Primo passo: IMAP - posta in arrivo
|
||||
|
@ -539,8 +539,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail j
|
||||
sort order mail ja ソート順
|
||||
source mail ja メールのソース
|
||||
sources mail ja メールのソース
|
||||
spamtitian api url mail ja SpamTitian API URL
|
||||
spamtitian integration requires epl version mail ja SpamTitian を利用するには EPL 版が必要
|
||||
spamtitan api url mail ja SpamTitan API URL
|
||||
spamtitan integration requires epl version mail ja SpamTitan を利用するには EPL 版が必要
|
||||
start new messages with mime type plain/text or html? mail ja 新規メッセージを plain/text で作成しますか?HTMLで作成しますか?
|
||||
start reply messages with mime type plain/text or html or try to use the displayed format (default)? mail ja 返信を plain/text で作成しますか?HTMLで作成しますか?表示中の形式を使用しますか(既定)?
|
||||
step 1: imap - incoming mail mail ja ステップ 1: IMAP - 受信メール
|
||||
|
@ -541,8 +541,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail s
|
||||
sort order mail sk Usporiadať podľa
|
||||
source mail sk Zdroj
|
||||
sources mail sk Zdroje
|
||||
spamtitian api url mail sk SpamTitan API URL
|
||||
spamtitian integration requires epl version mail sk Integrácia so SpamTitan vyžaduje verziu EPL
|
||||
spamtitan api url mail sk SpamTitan API URL
|
||||
spamtitan integration requires epl version mail sk Integrácia so SpamTitan vyžaduje verziu EPL
|
||||
start new messages with mime type plain/text or html? mail sk Vytvárať nové správy pomocou mime typu čistý text, alebo HTML?
|
||||
start reply messages with mime type plain/text or html or try to use the displayed format (default)? mail sk Začínať odpovedacie správy mime typom čistý text alebo html alebo skúsiť použiť zobrazený formát (predvolené)?
|
||||
step 1: imap - incoming mail mail sk Krok 1: IMAP - prijatá pošta
|
||||
|
@ -565,8 +565,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail s
|
||||
sort order mail sl Način sortiranja
|
||||
source mail sl Vir
|
||||
sources mail sl Viri
|
||||
spamtitian api url mail sl URL za SpamTitian API
|
||||
spamtitian integration requires epl version mail sl Integracija SpamTitian zahteva različico EPL
|
||||
spamtitan api url mail sl URL za SpamTitan API
|
||||
spamtitan integration requires epl version mail sl Integracija SpamTitan zahteva različico EPL
|
||||
start new messages with mime type plain/text or html? mail sl Začnem novo sporočilo kot navadno besedilo ali kot HTML?
|
||||
start reply messages with mime type plain/text or html or try to use the displayed format (default)? mail sl začnite odgovarjati s sporočilom mime type plain / text ali html ali poskusite uporabiti prikazano obliko (privzeto)?
|
||||
step 1: imap - incoming mail mail sl Korak 1: IMAP - prihajajoča pošta
|
||||
|
Loading…
Reference in New Issue
Block a user