Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c6:sieve [09.03.2012 16:48. ] – [Paketabhängigkeiten] django | centos:mail_c6:sieve [20.04.2018 10:44. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Mailfilterung mit SIEVE auf dem Cyrus-IMAP-Server unter CentOS 6.x ====== | ||
+ | Zur Filtern von E-Mails auf IMAP-Server wurde die Programmiersprache **SIEVE** konzipiert - die genaue Spezifikationen erfolgten hierzu im RFC 5228. Das Hauptaugenmerk von **SIEVE** liegt auf Einfachheit, | ||
+ | |||
+ | Weitere Hintergrundinformationen finden man unter anderem in dem [[http:// | ||
+ | |||
+ | ===== sieveshell ===== | ||
+ | Mit Hilf der // | ||
+ | |||
+ | Möchte man zum Beispiel automatisch generierte Nachrichten, | ||
+ | |||
+ | ==== Script erstellen ==== | ||
+ | Mit dem Editor unserer Wahl erstellen wir uns ein einfaches Textfile, mit den entsprechenden Filterregeln. So sollen Nachrichten von der Adresse // | ||
+ | |||
+ | $ vim eigene_Filterregel | ||
+ | <code bash> | ||
+ | if header :contains " | ||
+ | elsif header :contains " | ||
+ | elsif header :contains " | ||
+ | else { fileinto " | ||
+ | </ | ||
+ | |||
+ | ==== Script hochladen ==== | ||
+ | Damit wir unser selbst definiertes Script auch nutzen können, müssen wir es auf unseren IMAP-Server hochladen. Hierzu melden wir uns von unserem Nutzer-Login mittels **// | ||
+ | | ||
+ | < | ||
+ | Please enter your password: | ||
+ | > | ||
+ | </ | ||
+ | |||
+ | Nach dem Prompt der **sieveshell** können wir uns mittels des " | ||
+ | |||
+ | < | ||
+ | Usage: | ||
+ | sieveshell [-u username] [-a authname] [-r realm] < | ||
+ | |||
+ | help - this screen | ||
+ | list - list scripts on server | ||
+ | put < | ||
+ | - upload script to server | ||
+ | get < | ||
+ | - get script. if no filename display to stdout | ||
+ | delete < | ||
+ | activate < | ||
+ | deactivate | ||
+ | quit - quit | ||
+ | </ | ||
+ | |||
+ | Mittels put laden wir unser zuvor erstelle Textfile auf den Server hoch. | ||
+ | > put eigene_Filterregel | ||
+ | Mittel List bekommen wir all unsere hinterlegten Scripte anzeigen lassen. Auf dem Server können durchwegs mehrere Scripte hinterlegt sein, aber nur **__eines__** ist **aktiv**! | ||
+ | < | ||
+ | erster_Versuch | ||
+ | eigene_Filterregel | ||
+ | smartsieve | ||
+ | Mittels **activate < | ||
+ | < | ||
+ | > list | ||
+ | erster_Versuch | ||
+ | eigene_Filterregel <- active script | ||
+ | smartsieve</ | ||
+ | Dass diese Vorgehensweise, | ||
+ | ===== smart-sieve ===== | ||
+ | [[http:// | ||
+ | \\ | ||
+ | {{ : | ||
+ | \\ | ||
+ | ==== Installation ==== | ||
+ | === Paketabhängigkeiten === | ||
+ | Vor der eigentlichen Installation von **SmartSive** installieren wir noch drei notwendige PHP-Komponenten (**php-imap**, | ||
+ | # yum install php-imap php-mcrypt php-pecl-idn php-pear php-pear-Log -y | ||
+ | === Download === | ||
+ | Von der [[http:// | ||
+ | # wget http:// | ||
+ | === Installation === | ||
+ | Im nächsten Schritt machen wir uns nun an die Installation. | ||
+ | - Als erstes entpacken wir das zuvor heruntergeladene Programmarchiv.< | ||
+ | - Anschließend passen wir die User- und Gruppenberechtigungen an. < | ||
+ | - Abschließend verschieben wir noch das Archiv an Ort und Stelle, an dem es später unser Apache-Webserver abholen wird. < | ||
+ | |||
+ | ==== VHost-Definition ==== | ||
+ | Für unsere Nutzer legen wir einen eigenen V-Host an, über dessen später die Userzugriffe erfolgen sollen. Mit dem Editor unserer Wahl bearbeiten wir also unsere Apache-Konfigdatei **/ | ||
+ | # vim / | ||
+ | <code apache vhosts.conf> | ||
+ | # | ||
+ | # smartsieve.nausch.org | ||
+ | # | ||
+ | < | ||
+ | ServerAdmin webmaster@nausch.org | ||
+ | ServerName smartsieve.nausch.org: | ||
+ | ServerAlias smartsieve.nausch.org *.smartsieve.nausch.org | ||
+ | ServerPath / | ||
+ | DocumentRoot "/ | ||
+ | < | ||
+ | Options FollowSymLinks | ||
+ | AllowOverride AuthConfig | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </ | ||
+ | AddType application/ | ||
+ | DirectoryIndex index.php | ||
+ | ErrorLog logs/ | ||
+ | CustomLog logs/ | ||
+ | </ | ||
+ | </ | ||
+ | Mittels eines anschließende **Reload** geben wir unseren neu definierten VHost dem System bekannt. | ||
+ | # service httpd restart | ||
+ | ==== Konfiguration ==== | ||
+ | === servers.php === | ||
+ | Im Verzeichnis **../ | ||
+ | # vim / | ||
+ | <file php / | ||
+ | <?php | ||
+ | /** | ||
+ | * servers.php: | ||
+ | * the cyrus servers we can connect to. If you have set the | ||
+ | * $default-> | ||
+ | * each of the servers below will appear in a select box on | ||
+ | * the login page. If you've set this to false, then the | ||
+ | * first entry below will be used as the default and no | ||
+ | * select box will appear on the login page. | ||
+ | * | ||
+ | * display: the name to be displayed in the drop-down list of | ||
+ | * servers on the login page (if $default-> | ||
+ | * is set to true in conf/ | ||
+ | * | ||
+ | * use_starttls: | ||
+ | * to protect the connection to the managesieve server. This will | ||
+ | * only work with PHP-5.1 and above built with OpenSSL support, | ||
+ | * and where the server supports it. Set this to false if you want | ||
+ | * to disable TLS. | ||
+ | * | ||
+ | * imapport: port to connect to imapd; usually 143. If you | ||
+ | * want to do imap-ssl set this to ' | ||
+ | * ' | ||
+ | * certificate on your imap server, you sould set this to | ||
+ | * ' | ||
+ | * the c-client libraries with ssl support and you are using | ||
+ | * php-4.1.2 or later with imap-ssl enabled, you will need to | ||
+ | * set this to ' | ||
+ | * | ||
+ | * maildomain: If your users have email addresses of the form | ||
+ | * username@yourdomain and you want to suggest this as a vacation | ||
+ | * address to your users when they create a new vacation rule, set | ||
+ | * this to your mail domain. Do not include the ' | ||
+ | * Note: you can also suggest vacation addresses to your users via | ||
+ | * the get_email_addresses_hook option in config.php. | ||
+ | * | ||
+ | * auth_domain: | ||
+ | * which will be appended to usernames to make them fully-qualified. | ||
+ | * This is useful if your server supports virtual domains but can | ||
+ | * only determine the domain from the username, and you want to save | ||
+ | * your users the trouble of typing their fully-qualified username | ||
+ | * themselves. | ||
+ | * | ||
+ | * $Id: servers.php, | ||
+ | */ | ||
+ | |||
+ | /* Django : 2012-03-09 | ||
+ | * Default-Musterbeispiele | ||
+ | | ||
+ | $servers[' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | $servers[' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | */ | ||
+ | |||
+ | $servers[' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | |||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | === config.php === | ||
+ | Die eigentliche Konfiguration von SmartSieve erfolgt dann über die Konfigurationsdatei **config.php**, | ||
+ | # vim / | ||
+ | |||
+ | <file php / | ||
+ | <?php | ||
+ | /** | ||
+ | * This is the SmartSieve configuration file. | ||
+ | * You should edit the global settings in this file to suit | ||
+ | * your installation. | ||
+ | * | ||
+ | * Mail server settings can be found in conf/ | ||
+ | * | ||
+ | * $Id: config.php, | ||
+ | */ | ||
+ | |||
+ | /** | ||
+ | * Language options. | ||
+ | */ | ||
+ | |||
+ | // Default language to use if we don't allow the users to choose. | ||
+ | // This must be one of the languages in conf/ | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Default character set to use. This will only be used if there is no | ||
+ | // charset set for the selected language in conf/ | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | /** | ||
+ | * Login options. | ||
+ | */ | ||
+ | |||
+ | // Cyrus allows certain users to authenticate as themselves, but authorize to | ||
+ | // act as other users. This is called proxy authorization. Usually, only admins | ||
+ | // and sieve_admins can do this. The following array should contain a list of | ||
+ | // users who you want to see the authz box visible on the login page. Set this | ||
+ | // to array(' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we allow users to select which language they wish to view | ||
+ | // SmartSieve in? If false $default-> | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we allow the user to choose from a list of servers? The list | ||
+ | // itself is in servers.php. If this is false, the first entry in | ||
+ | // servers.php will be used. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we provide a box on the login page for users to specify which | ||
+ | // script to edit? This is ignored if allow_multi_scripts is false. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | /** | ||
+ | * Usability options. | ||
+ | */ | ||
+ | |||
+ | // Will we allow the user to access multiple scripts? | ||
+ | // If true, the user will be able to create and modify multiple scripts | ||
+ | // on the server. If false, the user will only be able to access the | ||
+ | // script $default-> | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Default script to use on the server. This is only used if the user has no | ||
+ | // existing scripts, or if $default-> | ||
+ | // that timsieved will add a ' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // If SmartSieve does not recognise the encoding on a Sieve script, it | ||
+ | // will allow the user to edit it's content in a direct edit mode. If, | ||
+ | // however, you do not want users to be able to modify scripts which were | ||
+ | // not created using SmartSieve or Websieve, set this to false. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we allow users to switch between GUI mode into the direct edit mode? | ||
+ | // Note, this is generally a bad idea because any changes made in direct edit | ||
+ | // mode will be lost if the user reverts to GUI mode. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we allow regular expression matching in sieve rules? | ||
+ | // FIXME: note, this currently doesn' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we allow users to create custom sieve rules? | ||
+ | // Note: existing custom rules will always be handled. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Notification methods to allow. This should be an array containing valid notify | ||
+ | // methods, of which only ' | ||
+ | // support the " | ||
+ | // The notify action is disabled by default. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // What IMAP flags should we allow users to set via the " | ||
+ | // list appears below. Setting this to an empty array will disable the addflag action. | ||
+ | // | ||
+ | |||
+ | // Should we enable the " | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we enable the vacation interface? This is enabled by default. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we enable the " | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // The following array provides a mechanism for specifying a site-specific | ||
+ | // spam filtering policy. If your mail domain adds a particular message | ||
+ | // header to mail either indicating that the message is spam, or holding | ||
+ | // some sort of spam score (like those added by SpamAssissin for example) | ||
+ | // you can specify those here. The user will then see a " | ||
+ | // item which will link to a simple GUI asking them what they want to do | ||
+ | // with such messages. | ||
+ | // $default-> | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | |||
+ | /** | ||
+ | * Compatibility options. | ||
+ | */ | ||
+ | |||
+ | // Websieve 0.61 included a feature which automatically used the ': | ||
+ | // comparator where the match string contains the special wildcard characters | ||
+ | // ? or *. Versions of SmartSieve up to 1.0-RC1 maintained this feature if the | ||
+ | // following option was enabled. The rule format has changed and this option | ||
+ | // now only affects the conversion of legacy scripts, but if you have scripts | ||
+ | // created by either of the above cases you can enable the following option to | ||
+ | // maintain the match type of legacy rules. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | /** | ||
+ | * Site-specific options. | ||
+ | */ | ||
+ | |||
+ | // The base url for SmartSieve. If you make SmartSieve the web root, | ||
+ | // set this (and cookie_path) to '/' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Location of include files. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Location of config files. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Location of language files. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Location of library files. Warning: don't change this. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Location of images. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // What name should we use for the PHP session? | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Cookie domain. This should be the name of the server SmartSieve is running | ||
+ | // on. If the domain of your site is different to the web servcer' | ||
+ | // you should set your site's domain here. If all else fails, set this to an | ||
+ | // empty string, but beware that doing so is a security risk as cookies will | ||
+ | // be sent to other websites as well. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Cookie path. This should be the location of SmartSieve under your web root. | ||
+ | // If you leave this empty, all scripts on the server will have access to the | ||
+ | // cookie data. This should match the value of baseurl above. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Title of each page | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Welcome message on the login page. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Which page should users see following login? | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // The default number of vacation days for a new vacation action. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // The maximum number of vacation days the user can choose from. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // What is the maximum number of characters an input field should accept? | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // What is the maximum number of characters a text box should accept? | ||
+ | // e.g. the reject message on the rule page. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Should we set the working script as the active script when saving? Note that | ||
+ | // the working script will always be set as the active script if there are no | ||
+ | // other scripts, or if allow_multi_scripts is false. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Following logout, users will be redirected to the login page. If you | ||
+ | // prefer to have them redirected elsewhere you can specify this here. | ||
+ | // Note, this should be a complete URI including the scheme and hostname. | ||
+ | // $default-> | ||
+ | $default-> | ||
+ | |||
+ | // Should we return to the View Rules page following rule changes? | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // What format should we use for the date on the script head? | ||
+ | // See http:// | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // The timeout (in seconds) to use when reading from the socket. Increase | ||
+ | // this if you are experiencing empty bad response errors. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // SmartSieve will select a cryptography library to use for encryption. You | ||
+ | // can override the one it chooses by setting this option. Choices are | ||
+ | // ' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // An array containing any values needed by the Crypt object. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // SmartSieve will auto negotiate which SASL mechanism to use to authenticate. | ||
+ | // If you want to specify a mechanism instead set this to something other | ||
+ | // than an empty string. Currently, ' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | /** | ||
+ | * Logging options. | ||
+ | */ | ||
+ | |||
+ | // Should we log messages? | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // At what level should we log? Can be LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, | ||
+ | // LOG_WARNING, | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // Logging method. Can be ' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // This should either be a filename if logging_method = ' | ||
+ | // a syslog facility (eg. LOG_LOCAL4) if logging_method = ' | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // What identifier should we use to identify log messages in the log? | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | // An associative array contaning additional configuration information | ||
+ | // needed by the PEAR Log class. | ||
+ | // | ||
+ | $default-> | ||
+ | |||
+ | /** | ||
+ | * Menu items. | ||
+ | */ | ||
+ | |||
+ | // If any of the following are set, a ' | ||
+ | // on the corresponding pages linked to the values set here. These should | ||
+ | // be full URLs. | ||
+ | // $default-> | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | // | ||
+ | |||
+ | // The following should be an array containing extra items you want | ||
+ | // to include in SmartSieve' | ||
+ | // associative array containing the keys ' | ||
+ | // " | ||
+ | // the icon can be set via the optional ' | ||
+ | // $default-> | ||
+ | // | ||
+ | // ' | ||
+ | // ' | ||
+ | // ' | ||
+ | |||
+ | /** | ||
+ | * Custom function hooks. | ||
+ | */ | ||
+ | |||
+ | // If this is set to a function name, that function will be called to | ||
+ | // retrieve login details for the user. Note, the details supplied when | ||
+ | // the login page is submitted take precedence over this. The function | ||
+ | // must return an array of the form expected by the SmartSieve:: | ||
+ | // function. | ||
+ | // | ||
+ | |||
+ | // If you have an external source of email addresses you want your users | ||
+ | // to see on the vacation settings page, set the following to the name | ||
+ | // of a function that will retrieve these. SmartSieve will then include | ||
+ | // these in the list of addresses the user might include in their vacation | ||
+ | // addresses. The function should return an array of addresses. | ||
+ | // | ||
+ | |||
+ | // If you want to extend the sanity checking done prior to the user saving a | ||
+ | // rule you can define a function and set the function name here. The function | ||
+ | // must take a rule array as a parameter, and will be expected to return boolean | ||
+ | // true to allow the rule to be saved, or false to disallow it. There is an | ||
+ | // example isSaneHook() function below. | ||
+ | // | ||
+ | |||
+ | /** | ||
+ | * Example get_login_details_hook function. | ||
+ | * | ||
+ | * This example looks for credentials set by a single-sign-on | ||
+ | * system. If set, the user will not need to log in again. | ||
+ | * | ||
+ | * @return array Login details | ||
+ | */ | ||
+ | //function getSSODetails() | ||
+ | //{ | ||
+ | // $details = array(); | ||
+ | // if (isset($_SERVER[' | ||
+ | // $_SERVER[' | ||
+ | // $details[' | ||
+ | // $details[' | ||
+ | // $details[' | ||
+ | // $details[' | ||
+ | // } | ||
+ | // return $details; | ||
+ | //} | ||
+ | |||
+ | /** | ||
+ | * Example get_email_addresses_hook function. | ||
+ | * | ||
+ | * @return array The list of email addresses | ||
+ | */ | ||
+ | //function getEmailAddresses() | ||
+ | //{ | ||
+ | // $addresses = array(); | ||
+ | // if (extension_loaded(' | ||
+ | // $ds = ldap_connect(' | ||
+ | // if ($ds) { | ||
+ | // // Anonymous bind. | ||
+ | // $r = ldap_bind($ds); | ||
+ | // $sr = ldap_search($ds, | ||
+ | // " | ||
+ | // $entries = ldap_get_entries($ds, | ||
+ | // for ($i=0; $i< | ||
+ | // $addresses[] = $entries[$i][' | ||
+ | // } | ||
+ | // } | ||
+ | // ldap_close($ds); | ||
+ | // } | ||
+ | // return $addresses; | ||
+ | //} | ||
+ | |||
+ | /** | ||
+ | * Example is_sane_hook function. | ||
+ | * | ||
+ | * This function will be called (if set via is_sane_hook above) prior to a user | ||
+ | * saving a rule, and will be passed a rule array as a parameter. This allows | ||
+ | * you to add custom sanity checks to those of isSane(). You must return boolean | ||
+ | * true to allow the user to save the rule, or false to disallow it. | ||
+ | * | ||
+ | * @param array $rule The rule values | ||
+ | * @return boolean True if rule values are acceptable, false if not | ||
+ | */ | ||
+ | //function isSaneHook($rule) | ||
+ | //{ | ||
+ | // foreach ($rule[' | ||
+ | // if ($action[' | ||
+ | // !preg_match("/ | ||
+ | // SmartSieve:: | ||
+ | // return false; | ||
+ | // } | ||
+ | // } | ||
+ | // return true; | ||
+ | //} | ||
+ | |||
+ | ?> | ||
+ | </ | ||
+ | === php.ini === | ||
+ | Folgende Fehlermeldung kann unter Umständen im Error-Log des vHosts am Webserver auftauchen: | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Zum Abstellen dieses Fehlers tragen wir in der // | ||
+ | # vim / | ||
+ | <code php>... | ||
+ | ;;;;;;;;;;;;;;;;;;; | ||
+ | ; Module Settings ; | ||
+ | ;;;;;;;;;;;;;;;;;;; | ||
+ | |||
+ | [Date] | ||
+ | ; Defines the default timezone used by the date functions | ||
+ | ; http:// | ||
+ | ; | ||
+ | ; Django : 2012-03-11 | ||
+ | ; default : unset | ||
+ | date.timezone = Europe/ | ||
+ | </ | ||
+ | |||
+ | Anschließend starten wir einmal unseren Webserver durch. | ||
+ | # service httpd condrestart | ||
+ | ==== Programmstart ==== | ||
+ | Mit dem Webbrowser unserer Wahl öffnen wir die [[http:// | ||
+ | $ firefox http:// | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Nach erfolgter Anmeldung befinden wir uns im Hauptbildschirm, | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Dies erfolgt hierbei Benutzerintuitiv und bedarf keiner großartigen Beschreibung mehr - der **WAF** ist somit gesichert! LOL | ||
+ | |||
+ | Da wir noch kein Script hochgeaden haben und auch noch keine Regel definiert hatten, ist natürlich das Default-Regelwerk **smartsieve** noch deaktiviert. | ||
+ | |||
+ | Wir legen uns also eine Regel an. Als Beispiel nehmen wir mal an, dass wir selbst jede eMail verwerfen, die im Betreff die Zeichenkette **CSU** enthält. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Sobald wir unsere erste Regel definiert haben und die Schaltfläche **[Return to Filters]** angewählt haben, sehen wir dass: | ||
+ | - die erstellte Regel angezeigt und | ||
+ | - das Script **smartsieve** aktiviert ist. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Würde nun eine eMail mit der Zeichenfolge **CSU** vom **MTA**((**M**ail**T**ransport**A**gent)) an unseren IMAP-Server cyrus übergeben, würde diese die eMail gar nicht in das Konto des Users einstellen, sondern sofort nach der Entgegennahme löschen! | ||
+ | |||
+ | ====== Links ====== | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
+ | |||