WIP spam workflow and SpamTitian integration

This commit is contained in:
Ralf Becker 2017-05-31 15:10:58 +02:00 committed by Hadi Nategh
parent 05bf72997c
commit 884fd07687
8 changed files with 83 additions and 12 deletions

View File

@ -385,7 +385,8 @@ class admin_mail
//_debug_array($content); //_debug_array($content);
$sel_options['acc_folder_sent'] = $sel_options['acc_folder_trash'] = $sel_options['acc_folder_sent'] = $sel_options['acc_folder_trash'] =
$sel_options['acc_folder_draft'] = $sel_options['acc_folder_template'] = $sel_options['acc_folder_draft'] = $sel_options['acc_folder_template'] =
$sel_options['acc_folder_junk'] = $sel_options['acc_folder_archive'] = self::mailboxes($imap, $content); $sel_options['acc_folder_junk'] = $sel_options['acc_folder_archive'] =
$sel_options['acc_folder_ham'] = self::mailboxes($imap, $content);
} }
catch(Exception $e) { catch(Exception $e) {
$content['msg'] = $e->getMessage(); $content['msg'] = $e->getMessage();
@ -430,6 +431,7 @@ class admin_mail
'acc_folder_draft' => array('\\drafts', 'drafts'), 'acc_folder_draft' => array('\\drafts', 'drafts'),
'acc_folder_template' => array('', 'templates'), 'acc_folder_template' => array('', 'templates'),
'acc_folder_junk' => array('\\junk', 'junk', 'spam'), 'acc_folder_junk' => array('\\junk', 'junk', 'spam'),
'acc_folder_ham' => array('', 'ham'),
'acc_folder_archive' => array('', 'archive'), 'acc_folder_archive' => array('', 'archive'),
) as $name => $common_names) ) as $name => $common_names)
{ {
@ -1174,7 +1176,8 @@ class admin_mail
try { try {
$sel_options['acc_folder_sent'] = $sel_options['acc_folder_trash'] = $sel_options['acc_folder_sent'] = $sel_options['acc_folder_trash'] =
$sel_options['acc_folder_draft'] = $sel_options['acc_folder_template'] = $sel_options['acc_folder_draft'] = $sel_options['acc_folder_template'] =
$sel_options['acc_folder_junk'] = $sel_options['acc_folder_archive'] = $sel_options['notify_folders'] = $sel_options['acc_folder_junk'] = $sel_options['acc_folder_archive'] =
$sel_options['notify_folders'] = $sel_options['acc_folder_ham'] =
self::mailboxes(self::imap_client ($content)); self::mailboxes(self::imap_client ($content));
} }
catch(Exception $e) { catch(Exception $e) {

View File

@ -147,6 +147,10 @@
<description for="acc_folder_junk" value="Junk folder"/> <description for="acc_folder_junk" value="Junk folder"/>
<taglist id="acc_folder_junk" empty_label="Select one ..." maxSelection="1" autocomplete_url=""/> <taglist id="acc_folder_junk" empty_label="Select one ..." maxSelection="1" autocomplete_url=""/>
</row> </row>
<row>
<description for="acc_folder_ham" value="Ham folder"/>
<taglist id="acc_folder_ham" empty_label="Mails can be copied to that folder via context menu, if folder is configured." maxSelection="1" autocomplete_url=""/>
</row>
<row> <row>
<description for="acc_folder_archive" value="Archive folder"/> <description for="acc_folder_archive" value="Archive folder"/>
<taglist id="acc_folder_archive" empty_label="Select one ..." maxSelection="1" autocomplete_url=""/> <taglist id="acc_folder_archive" empty_label="Select one ..." maxSelection="1" autocomplete_url=""/>
@ -237,9 +241,9 @@
<textbox type="integer" label="Port" id="acc_smtp_port" needed="1" class="emailadmin_port"/> <textbox type="integer" label="Port" id="acc_smtp_port" needed="1" class="emailadmin_port"/>
</hbox> </hbox>
</row> </row>
<row height="50"> <row>
<description/> <description for="acc_spam_api" value="SpamTitan API URL"/>
<description/> <url id="acc_spam_api" blur="SpamTitian integration requires EPL version" width="95%" maxlength="128"/>
</row> </row>
</rows> </rows>
</grid> </grid>

View File

@ -43,6 +43,18 @@
<menupopup id="acc_folder_junk" options="Select one ..."/> <menupopup id="acc_folder_junk" options="Select one ..."/>
</menulist> </menulist>
</row> </row>
<row>
<description value="Ham folder" for="acc_folder_ham"/>
<menulist>
<menupopup id="acc_folder_ham" options="Select one ..."/>
</menulist>
</row>
<row>
<description value="Archive folder" for="acc_folder_archive"/>
<menulist>
<menupopup id="acc_folder_archive" options="Select one ..."/>
</menulist>
</row>
<row class="dialogFooterToolbar"> <row class="dialogFooterToolbar">
<hbox span="all"> <hbox span="all">
<button label="Continue" id="button[continue]" image="continue" background_image="1"/> <button label="Continue" id="button[continue]" image="continue" background_image="1"/>

View File

@ -12,7 +12,7 @@
/* Basic information about this app */ /* Basic information about this app */
$setup_info['api']['name'] = 'api'; $setup_info['api']['name'] = 'api';
$setup_info['api']['title'] = 'EGroupware API'; $setup_info['api']['title'] = 'EGroupware API';
$setup_info['api']['version'] = '16.1.005'; $setup_info['api']['version'] = '16.9.002';
$setup_info['api']['versions']['current_header'] = '1.29'; $setup_info['api']['versions']['current_header'] = '1.29';
// maintenance release in sync with changelog in doc/rpm-build/debian.changes // maintenance release in sync with changelog in doc/rpm-build/debian.changes
$setup_info['api']['versions']['maintenance_release'] = '16.1.20170415'; $setup_info['api']['versions']['maintenance_release'] = '16.1.20170415';
@ -131,3 +131,4 @@ $setup_info['groupdav']['license'] = 'GPL';
$setup_info['groupdav']['hooks']['preferences'] = 'EGroupware\\Api\\CalDAV\\Hooks::menus'; $setup_info['groupdav']['hooks']['preferences'] = 'EGroupware\\Api\\CalDAV\\Hooks::menus';
$setup_info['groupdav']['hooks']['settings'] = 'EGroupware\\Api\\CalDAV\\Hooks::settings'; $setup_info['groupdav']['hooks']['settings'] = 'EGroupware\\Api\\CalDAV\\Hooks::settings';

View File

@ -449,7 +449,9 @@ $phpgw_baseline = array(
'acc_imap_default_quota' => array('type' => 'int','precision' => '4','comment' => 'default quota, if no user specific one set'), 'acc_imap_default_quota' => array('type' => 'int','precision' => '4','comment' => 'default quota, if no user specific one set'),
'acc_imap_timeout' => array('type' => 'int','precision' => '2','comment' => 'timeout for imap connection'), 'acc_imap_timeout' => array('type' => 'int','precision' => '2','comment' => 'timeout for imap connection'),
'acc_user_forward' => array('type' => 'bool','default' => '0','comment' => 'allow user to define forwards'), 'acc_user_forward' => array('type' => 'bool','default' => '0','comment' => 'allow user to define forwards'),
'acc_further_identities' => array('type' => 'int','precision' => '1','nullable' => False,'default' => '1','comment' => '0=no, 1=yes, 2=only matching aliases') 'acc_further_identities' => array('type' => 'int','precision' => '1','nullable' => False,'default' => '1','comment' => '0=no, 1=yes, 2=only matching aliases'),
'acc_folder_ham' => array('type' => 'varchar','precision' => '128','comment' => 'ham folder'),
'acc_spam_api' => array('type' => 'varchar','precision' => '128','comment' => 'SpamTitan API URL')
), ),
'pk' => array('acc_id'), 'pk' => array('acc_id'),
'fk' => array(), 'fk' => array(),

View File

@ -192,3 +192,46 @@ HAVING COUNT(*) > 1', __LINE__, __FILE__, 0, $junk_size, false, Api\Db::FETCH_AS
return $GLOBALS['setup_info']['api']['currentver'] = '16.1.005'; return $GLOBALS['setup_info']['api']['currentver'] = '16.1.005';
} }
/**
* Update to 17.1 development as 16.9
*
* @return string
*/
function api_upgrade16_1_005()
{
return $GLOBALS['setup_info']['api']['currentver'] = '16.9';
}
/**
* Give egw_ea_credentials.cred_password size 9600 to accomodate private s/mime keys
*
* @return string
*/
function api_upgrade16_9()
{
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_ea_credentials','cred_password',array(
'type' => 'varchar',
'precision' => '9600',
'comment' => 'password encrypted'
));
return $GLOBALS['setup_info']['api']['currentver'] = '16.9.001';
}
function api_upgrade16_9_001()
{
$GLOBALS['egw_setup']->oProc->AddColumn('egw_ea_accounts','acc_folder_ham',array(
'type' => 'varchar',
'precision' => '128',
'comment' => 'ham folder'
));
$GLOBALS['egw_setup']->oProc->AddColumn('egw_ea_accounts','acc_spam_api',array(
'type' => 'varchar',
'precision' => '128',
'comment' => 'SpamTitan API URL'
));
return $GLOBALS['setup_info']['api']['currentver'] = '16.9.002';
}

View File

@ -173,7 +173,6 @@ error:could not save the acl! because some names are empty! mail de Fehler: Zugr
esync will fail without a working email configuration! mail de eSync steht Ihnen nicht zur Verfügung, weil kein gültiges Mailkonto eingestellt wurde! esync will fail without a working email configuration! mail de eSync steht Ihnen nicht zur Verfügung, weil kein gültiges Mailkonto eingestellt wurde!
event details follow mail de Details zum Termin folgen event details follow mail de Details zum Termin folgen
everyone mail de Alle Anwender everyone mail de Alle Anwender
examine namespace to retrieve folders in others and shared mail de Untersuche Namespace für Mail-Ordner in den Bereichen OTHERS and SHARED
extended mail de Erweitert extended mail de Erweitert
extra sent folders mail de Anzeigeschema Gesendet-Ordner extra sent folders mail de Anzeigeschema Gesendet-Ordner
failed to delete %1 mail de Löschen von %1 fehlgeschlagen failed to delete %1 mail de Löschen von %1 fehlgeschlagen
@ -220,6 +219,7 @@ general admin de Allgemein
general settings mail de Allgemeine Einstellungen general settings mail de Allgemeine Einstellungen
get acl rights failed from imap server! mail de Die Zugriffskontrollrechte konnten auf dem IMAP Server nicht gelesen werden! get acl rights failed from imap server! mail de Die Zugriffskontrollrechte konnten auf dem IMAP Server nicht gelesen werden!
greater than mail de größer als greater than mail de größer als
ham folder mail de Ordner für nicht SPAM Nachrichten
header mail de Kopfzeilen header mail de Kopfzeilen
header lines mail de Kopfzeilen anzeigen header lines mail de Kopfzeilen anzeigen
hide mail de ausblenden hide mail de ausblenden
@ -279,6 +279,7 @@ mail-address mail de Mail-Adresse
mailaccount mail de Mailkonto mailaccount mail de Mailkonto
mailinglist mail de Mailingliste mailinglist mail de Mailingliste
mails common de Mails mails common de Mails
mails can be copied to that folder via context menu, if folder is configured. mail de Mails können per Kontextmenü in diesen Ordner kopiert werden, wenn er konfiguriert ist.
mailserver reported:\n%1 \ndo you want to proceed by deleting the selected messages immediately (click ok)?\nif not, please try to empty your trashfolder before continuing. (click cancel) mail de Der Mailserver meldete:\n%1 \nWollen Sie fortfahren und die ausgewählten Mails direkt löschen (Ok klicken)?\nWenn nicht, bitten den Mülleimer löschen und es nochmal versuchen. (Abbruch klicken) mailserver reported:\n%1 \ndo you want to proceed by deleting the selected messages immediately (click ok)?\nif not, please try to empty your trashfolder before continuing. (click cancel) mail de Der Mailserver meldete:\n%1 \nWollen Sie fortfahren und die ausgewählten Mails direkt löschen (Ok klicken)?\nWenn nicht, bitten den Mülleimer löschen und es nochmal versuchen. (Abbruch klicken)
mark all as read mail de alle als Gelesen markieren mark all as read mail de alle als Gelesen markieren
mark all messages in folder as read mail de Alle Nachrichten in diesem Ordner als Gelesen markieren mark all messages in folder as read mail de Alle Nachrichten in diesem Ordner als Gelesen markieren
@ -472,6 +473,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail d
sort order mail de Sortierreihenfolge sort order mail de Sortierreihenfolge
source mail de Quelltext source mail de Quelltext
sources mail de HTML Quellcode 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
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 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. 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 step 1: imap - incoming mail mail de 1. Schritt: Posteingang (IMAP) einrichten

View File

@ -59,7 +59,7 @@ canceled deletion due to userinteraction mail en canceled deletion due to userin
change editor type mail en switch editor to HTML mode change editor type mail en switch editor to HTML mode
changed profile mail en changed profile changed profile mail en changed profile
check message against next rule also mail en Check message against next rule also check message against next rule also mail en Check message against next rule also
check to recieve a notification when the message is read (note: not all clients support this and/or the reciever may not authorize the notification) mail en check to recieve a notification when the message is read (note: not all clients support this and/or the reciever may not authorize the notification) check to receive a notification when the message is read (note: not all clients support this and/or the receiver may not authorize the notification) mail en check to receive a notification when the message is read (note: not all clients support this and/or the receiver may not authorize the notification)
check to save as calendar event on send mail en check to save as event on send check to save as calendar event on send mail en check to save as event on send
check to save as infolog on send mail en check to save as infolog on send check to save as infolog on send mail en check to save as infolog on send
check to save as trackerentry on send mail en check to save as trackerentry on send check to save as trackerentry on send mail en check to save as trackerentry on send
@ -173,7 +173,6 @@ error:could not save the acl! because some names are empty! mail en Error:Could
esync will fail without a working email configuration! mail en eSync will FAIL without a working eMail configuration! esync will fail without a working email configuration! mail en eSync will FAIL without a working eMail configuration!
event details follow mail en Event Details follow event details follow mail en Event Details follow
everyone mail en Everyone everyone mail en Everyone
examine namespace to retrieve folders in others and shared mail en Examine Namespace to retrieve Folders in OTHERS and SHARED
extended mail en Extended extended mail en Extended
extra sent folders mail en Extra sent folders extra sent folders mail en Extra sent folders
failed to delete %1 mail en Failed to delete %1 failed to delete %1 mail en Failed to delete %1
@ -220,6 +219,7 @@ general admin en General
general settings mail en General settings general settings mail en General settings
get acl rights failed from imap server! mail en Get ACL rights failed from IMAP server! get acl rights failed from imap server! mail en Get ACL rights failed from IMAP server!
greater than mail en greater than greater than mail en greater than
ham folder mail en Ham folder
header mail en Header header mail en Header
header lines mail en Header lines header lines mail en Header lines
hide mail en hide hide mail en hide
@ -279,6 +279,7 @@ mail-address mail en Mail-Address
mailaccount mail en Mailaccount mailaccount mail en Mailaccount
mailinglist mail en Mailinglist mailinglist mail en Mailinglist
mails common en Mails mails common en Mails
mails can be copied to that folder via context menu, if folder is configured. mail en Mails can be copied to that folder via context menu, if folder is configured.
mailserver reported:\n%1 \ndo you want to proceed by deleting the selected messages immediately (click ok)?\nif not, please try to empty your trashfolder before continuing. (click cancel) mail en Mailserver reported:\n%1 \nDo you want to proceed by deleting the selected messages immediately (click ok)?\nIf not, please try to empty your trashfolder before continuing. (click cancel) mailserver reported:\n%1 \ndo you want to proceed by deleting the selected messages immediately (click ok)?\nif not, please try to empty your trashfolder before continuing. (click cancel) mail en Mailserver reported:\n%1 \nDo you want to proceed by deleting the selected messages immediately (click ok)?\nIf not, please try to empty your trashfolder before continuing. (click cancel)
mark all as read mail en mark all as read mark all as read mail en mark all as read
mark all messages in folder as read mail en mark all messages in folder as read mark all messages in folder as read mail en mark all messages in folder as read
@ -420,8 +421,8 @@ saving of message %1 succeeded. check folder %2. mail en Saving of message %1 su
saving the rule failed: mail en Saving the rule failed: saving the rule failed: mail en Saving the rule failed:
see attachments for content of the orignial mail mail en See Attachments for Content of the Orignial Mail see attachments for content of the orignial mail mail en See Attachments for Content of the Orignial Mail
select all mail en Select all select all mail en Select all
select an item to read mail en Select an item to read
select an existing entry in order to append mail content to it mail en Select an existing entry in order to append mail content to it select an existing entry in order to append mail content to it mail en Select an existing entry in order to append mail content to it
select an item to read mail en Select an item to read
select file to attach to message mail en Select file to attach to message select file to attach to message mail en Select file to attach to message
select file to import into folder mail en Select file to import into Folder select file to import into folder mail en Select file to import into Folder
select file(s) from vfs mail en Select file(s) from VFS select file(s) from vfs mail en Select file(s) from VFS
@ -445,11 +446,11 @@ should new messages show up on the home page mail en Should new messages show up
should signature be inserted after (standard) or before a reply or inline forward, and should signature be visible and changeable during compose. mail en Should signature be inserted after (standard) or before a reply or inline forward, and should signature be visible and changeable during compose. should signature be inserted after (standard) or before a reply or inline forward, and should signature be visible and changeable during compose. mail en Should signature be inserted after (standard) or before a reply or inline forward, and should signature be visible and changeable during compose.
show mail en show show mail en show
show & expand mail en Show & expand show & expand mail en Show & expand
show fixed mail en Show fixed
show all addresses mail en Show all Addresses show all addresses mail en Show all Addresses
show all attachments mail en Show all attachments show all attachments mail en Show all attachments
show all folders mail en show all Folders show all folders mail en show all Folders
show all folders, (subscribed and unsubscribed) in main screen folder pane mail en show all folders, (subscribed AND unsubscribed) in Main Screen Folder Pane show all folders, (subscribed and unsubscribed) in main screen folder pane mail en show all folders, (subscribed AND unsubscribed) in Main Screen Folder Pane
show fixed mail en Show fixed
show new messages on home page mail en show new messages on home page show new messages on home page mail en show new messages on home page
show test connection section and control the level of info displayed? mail en Show Test Connection section and control the level of info displayed? show test connection section and control the level of info displayed? mail en Show Test Connection section and control the level of info displayed?
show test connection section and control the level of info displayed?? mail en Show Test Connection section and control the level of info displayed?? show test connection section and control the level of info displayed?? mail en Show Test Connection section and control the level of info displayed??
@ -471,6 +472,8 @@ some clients fail to detect correct charset, if flowed lines are enabled. mail e
sort order mail en Sort order sort order mail en Sort order
source mail en Source source mail en Source
sources mail en Sources sources mail en Sources
spamtitian api url mail en SpamTitian API URL
spamtitian integration requires epl version mail en SpamTitian 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 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)? 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 step 1: imap - incoming mail mail en Step 1: IMAP - incoming mail