-
-
Save imsoftware/20d77c586e8b5f928e39 to your computer and use it in GitHub Desktop.
Revisions
-
jaltek revised this gist
Oct 15, 2014 . 2 changed files with 5 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -33,4 +33,6 @@ Below you will find a single sample entry which will move e-mails from ```foobar It is important that you have read and understood the [basic configuration hints from the uberspace maildrop support wiki.](https://wiki.uberspace.de/mail:maildrop#basiskonfiguration) You can use the [below-mentioned script](https://gist.github.com/jaltek/799c913acb18e04809fb#file-myfilter) as your maildrop filter rule or enhance your existing script by adding the ```if ( /^From:\s*(.*)/ )``` code block. As mentioned before we are using the database corresponding to your uberspace account. So you have to change the variable ```DATABASE``` to your username. Last but not least be sure you set the correct rights to the filter rule (e.g. ```chmod 600 ~/.myfilter```). (Thx to Jonas from uberspace for his feedback) This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -23,7 +23,8 @@ if ( /^From:\s*(.*)/ ) { #filtering mail ADDRTMP=getaddr($MATCH1) #escape address for security reasons ADDR=`printf '%q' $ADDRTMP | sed 's/^M//'` #mysql select RESULT=`echo -ne "select folder from mailfilter where email = '$ADDR';" | mysql $DATABASE --skip-column-names` -
jaltek revised this gist
Oct 14, 2014 . 1 changed file with 2 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -7,7 +7,7 @@ This example is used in an [uberspace](https://uberspace.de) environment. ## Step 1: Create MySQL table For convenience we use the already existing database corresponding to your uberspace account (e.g. your uberspace username is *melanie* there will be already a database called *melanie*. mysql $USER << '__EOF__' CREATE TABLE `mailfilter` ( @@ -32,5 +32,5 @@ Below you will find a single sample entry which will move e-mails from ```foobar It is important that you have read and understood the [basic configuration hints from the uberspace maildrop support wiki.](https://wiki.uberspace.de/mail:maildrop#basiskonfiguration) You can use the [below-mentioned script](https://gist.github.com/jaltek/799c913acb18e04809fb#file-myfilter) as your maildrop filter rule or enhance your existing script by adding the ```if ( /^From:\s*(.*)/ )``` code block. As mentioned before we are using the database corresponding to your uberspace account. So you have to change the variable ```DATABASE``` to your username. Last but not least be sure you set the correct rights to the filter rule (e.g. ```chmod 600 ~/.myfilter```). -
jaltek revised this gist
Oct 14, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -30,7 +30,7 @@ Below you will find a single sample entry which will move e-mails from ```foobar ## Step 3: The maildrop rule It is important that you have read and understood the [basic configuration hints from the uberspace maildrop support wiki.](https://wiki.uberspace.de/mail:maildrop#basiskonfiguration) You can use the [below-mentioned script](https://gist.github.com/jaltek/799c913acb18e04809fb#file-myfilter) as your maildrop filter rule or enhance your existing script by adding the ```if ( /^From:\s*(.*)/ )``` code block. As mentioned before we are using the database correspondig to your uberspace account. So you have to change the variable ```DATABASE``` to your username. Last but not least be sure you set the correct rights to the filter rule (e.g. ```chmod 600 ~/.myfilter```). -
jaltek revised this gist
Oct 14, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -32,5 +32,5 @@ Below you will find a single sample entry which will move e-mails from ```foobar It is important that you have read and understood the [basic configuration hints from the uberspace maildrop support wiki.](https://wiki.uberspace.de/mail:maildrop#basiskonfiguration). You can use the [below-mentioned script](https://gist.github.com/jaltek/799c913acb18e04809fb#file-myfilter) as your maildrop filter rule or enhance your existing script by adding the ```if ( /^From:\s*(.*)/ )``` code block. As mentioned before we are using the database correspondig to your uberspace account. So you have to change the variable ```DATABASE``` to your username. Last but not least be sure you set the correct rights to the filter rule (e.g. ```chmod 600 ~/.myfilter```). -
jaltek created this gist
Oct 14, 2014 .There are no files selected for viewing
This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,36 @@ # uberspace, maildrop & MySQL ## A simple maildrop sender filter with MySQL backend This is a simple maildrop filter which filters incoming messages by the sender address and move it to the corresponding folder. E-Mail address and destination folder are both defined in a MySQL table. This example is used in an [uberspace](https://uberspace.de) environment. ## Step 1: Create MySQL table For convenience we use the already existing database correspondig to your uberspace account (e.g. your uberspace username is *melanie* there will be already a database called *melanie*. mysql $USER << '__EOF__' CREATE TABLE `mailfilter` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `folder` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; __EOF__ ## Step 2: Create some entries Below you will find a single sample entry which will move e-mails from ```foobar@example.org``` to the folder ```Your_IMAP_Folder```: mysql $USER << '__EOF__' INSERT INTO mailfilter (email, folder) VALUES ('foobar@example.org', 'Your_IMAP_Folder'); __EOF__ ## Step 3: The maildrop rule It is important that you have read and understood the [basic configuration hints from the uberspace maildrop support wiki.](https://wiki.uberspace.de/mail:maildrop#basiskonfiguration). You can use the [below-mentioned script](https://gist.github.com/jaltek/ecb7d89ace3666314081#file-myfilter) as your maildrop filter rule or enhance your existing script by adding the ```if ( /^From:\s*(.*)/ )``` code block. As mentioned before we are using the database correspondig to your uberspace account. So you have to change the variable ```DATABASE``` to your username. Last but not least be sure you set the correct rights to the filter rule (e.g. ```chmod 600 ~/.myfilter```). This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,46 @@ # set default Maildir MAILDIR="$HOME/Maildir" logfile "$HOME/mailfilter.log" #user settings DATABASE=<YOUR_UBERSPACE_USERNAME_HERE> # check if we're called from a .qmail-EXT instead of .qmail import EXT if ( $EXT ) { # does a vmailmgr user named $EXT exist? # if yes, deliver mail to his Maildir instead CHECKMAILDIR = `dumpvuser $EXT | grep '^Directory' | awk '{ print $2 }'` if ( $CHECKMAILDIR ) { MAILDIR="$HOME/$CHECKMAILDIR" } } # check from address against mysql if ( /^From:\s*(.*)/ ) { #filtering mail ADDRTMP=getaddr($MATCH1) ADDR=`echo $ADDRTMP | sed 's/^M//'` #mysql select RESULT=`echo -ne "select folder from mailfilter where email = '$ADDR';" | mysql $DATABASE --skip-column-names` #folder for e-mail address found? if ($RESULT ne "") { MAILDIR="$MAILDIR/.$RESULT" `test -d "$MAILDIR"` if ( $RETURNCODE == 1 ) { `maildirmake "$MAILDIR"` } to "$MAILDIR"; } } # Standardregel: to "$MAILDIR" This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,6 @@ CREATE TABLE `mailfilter` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `folder` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; This file contains hidden or 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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1 @@ INSERT INTO mailfilter (email, folder) VALUES ('foobar@example.org', 'Your_IMAP_Folder');