Home > Allgemein, Linux, Security > MailZu Installation – Ein amavisd-release Webinterface

MailZu Installation – Ein amavisd-release Webinterface

spam

Mailzu HowTo

Free your Spam!!…zumindest die false positives. Postfix in Verbindung mit amavisd und seinem Freund SpamAssassin  ist ja eine beliebte und bekannte SMTP Gateway Lösung, zu Recht wie ich finde. RockSolid Stable sag ich da nur. Was aber tun wenn eine Mail fälschlicherweise als Spam in’s amavis $QUARANTINEDIR verschoben wurde? Nun,man kann sich dran machen und die Mail händisch wieder in das Mailsystem zu bekommen, man kann amavid-release benutzen das genau für solche Aufgabe vorgesehen ist…SSH Zugang vorrausgesetzt.

amavisd-release (aufruf ohne optionen)

fwall:~# amavisd-release
Not enough arguments

amavisd-release version 1.1
Usage:  $ amavisd-release mail_file [secret_id [alt_recip1 alt_recip2 ...]]
or to read request lines from stdin:  $ amavisd-release -

Eben für amavisd-release gibt es ein nettes Webinterface mit dem jeder User seine eigenen Spam Mails wieder befreien kann.  Möglich ist auch ein Superuser der alle Spam Mails sieht und diese wieder zurück zum Eigentlichen Empfänger der Mail schicken kann…bedenkt bei dieser Option aber den Datenschutz!

Hier nun ein kleines HowTo zum einrichten vom mailzu mit ActiveDirectory Authentifizierung. Ihr braucht folgende Software:

1) Amavisd-new greater than 2.3.0.
2) A PHP-compatible web server
3) PHP 4.3.x or greater with socket support ( --enable-sockets )
4) PEAR::PEAR
5) PEAR::DB
6) PEAR::Mail_Mime
7) PEAR::Net_Socket

PHP muss mysql und ldap unterstützen.

[MySQL]

Als erstes legt ihr auf eurem MySQL Server eine Datenbak für mailzu an. Wie das geht weiss denke ich jeder. Nun müsst ihr die mailzu mysql tables anlegen. Dafür könnt ihr dieses Script verwenden. Ist die mailzu Datenbank vorbereitet kann es an das Webinterface gehen.

[Apache]

Auf eurem Webserver erstellt ihr einen neuen VirtualHost. Wer möchte kann sich meine Config Schnappen und einfach kopieren. Ich verwende NameBased VirtualHosts, ist aber jedem selbst überlassen.

<VirtualHost *:80>
HostnameLookups off
ServerAdmin webmaster@yourdomain.com
DocumentRoot /var/www/mailzu
ServerName mailzu.yourdomain.com
ErrorLog /var/log/apache2/mzu.error_log
CustomLog /var/log/apache2/mzu.access_log combined

SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|swf)$ \
SetEnvIfNoCase Request_URI \
\.(?:exe|t?gz|zip|bz2|sit|rar)$ \
no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

<Directory /var/www/mailzu/>
Options -Indexes FollowSymlinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

[MailZu]

Entpackt nun das mailzu Archiv in euer DocumentRoot Verzeichnis, in meinem Fall /var/www/mailzu. Die Konfiguration ist recht einfach. in der Datei include/config-sample.php macht ihr alle Relevanten Einstellungen. Hier gebt ihr die Datenbank an die ihr vorhin angelegt habt sowie die Art und Weisse der Authentifizierung, in meinem Fall habe ich die an das vorhanden ActiveDirectory gebunden.

Mit dieser Option sagt ihr mailzu die Authentifizierung macht ein AD

$conf['auth']['serverType'] = ‘ad’;

Dann schaut ihr einfach unter

/*** Active Directory Authentication Settings ***/

und tragt entsprechend eure Werte ein. Habt ihr das alles gemacht solltet ihr in der Lage sein euch über das Webinterface an mailzu anzumelden. Vergesst nicht einen DNS eintrag für euren NameBased Virtual Host zu erstellen.

Was ihr jetzt habt ist das Fertige MailZu Webinterface. Nun müssen wir amavis aber noch sagen das es die Mails die in Quarantäne geschoben werden in eine Datenbank schreiben soll…sonst brauchen wir auch kein Webinterface ;)

[Amavisd]

in eurer amavisd Konfiguration tragt ihr nun folgendes ei bzw ergänz die Einträge

$inet_socket_port = [10024, 10026, 9998];
$inet_socket_bind = undef;

@storage_sql_dsn =
( ['DBI:mysql:database=MAILZU-DB;host=127.0.0.1;port=3306', 'USER', 'PASS']);

$interface_policy{’9998′} = ‘AM.PDP’;

$policy_bank{‘AM.PDP’} = {
protocol => ‘AM.PDP’,
inet_acl => [qw( 127.0.0.1 127.0.1.1 [::1] 192.168.120.1 )],
};

$banned_files_quarantine_method = ‘sql:’;
$spam_quarantine_method         = ‘sql:’;

Somit weiss amavis das es Spam Mails in der mailzu Datenbak ablegen muss.

Nach einem reload von amavis sollte dieser nun zusätzlich noch auf Port 9998 lauschen.

Schickt euch nun selbst eine Test Mail mit einer exe oder was auch immer bei euch als gebanned gillt. Diese solltet ihr nun im Webinterface von Mailzu sehen…wenn ihr alles richtig gemacht habt.

Falls ihr Probleme habt hinterlast einen Kommentar.

Das solltest du auch noch lesen:

  1. Hampe
    16. März 2009, 17:09 | #1

    Hallo,

    zuerst einmal vielen Dank für dein klasse HowTo, hat mir sehr geholfen :-D

    Ich habe nur eine Frage dazu:
    Beim Quarantäneinhalt Systemweit sehe ich immer nur eine Zeile mit dem Datum 1970/01/01. Sollte ich da nicht für jeden Tag eine separate Zeile sehen ?

    Danke und Gruss
    Hampe

  2. 16. März 2009, 20:20 | #2

    Hi Hampe keine Ursache, freut mich wenn es geholfen hat :grin:
    Dein Datum macht mich etwas stutzig 1970? bist du sicher das deine Systemzeit stimmt ? Befinden sich amavis und die mailzu db auf unterschiedlichen systemen ?

    Grüße
    Izac

  3. Hampe
    16. März 2009, 20:33 | #3

    Habs gefunden.
    Wenn man diesen Eintrag noch erstellt funzt es: $timestamp_fmt_mysql = 1;
    Gruss
    Hampe

  4. 20. April 2009, 16:58 | #4

    My German is not so good…

    I also had this 1970/01/01 date in MailZu shown in the interface. I found some hints on this page only – “$timestamp_fmt_mysql = 1;” is amavis.conf setting.

  5. 21. April 2009, 16:35 | #5

    Hey Mangoo,

    I’m a bit confused now, do you need help in any way ?

  6. Paulo Ricardo Bruck
    8. Juli 2009, 23:16 | #6

    Hi

    Just using Debian lenny + mysql-server-5.0 ( debian package) + mailzu.deb from http://moais.imag.fr/membres/vincent.danjean/deb.html#mailzu
    Before googling a lot and reading your text I copy your mysql.sql and try it out but I still have the same proble. I ‘ve already check amavis and I almos certain that problem is locates at mysql schema. Could you help me ?
    below log from /var/log/mailzu.log
    ########################
    [Wed, 08 Jul 2009 18:09:30] 192.168.1.11 root There was an error executing your query SELECT date,
    MAX(stattable.spam) AS spam,
    MAX(stattable.banned) AS banned,
    MAX(stattable.viruses) AS viruses,
    MAX(stattable.badheaders) AS badheaders,
    MAX(stattable.pending) AS pending
    FROM (
    SELECT CAST(time_iso AS DATE) AS date,
    COUNT(content) AS spam,
    0 AS banned,
    0 AS viruses,
    0 AS badheaders,
    0 AS pending
    FROM msgs INNER JOIN msgrcpt ON msgs.mail_id=msgrcpt.mail_id
    INNER JOIN maddr AS recip ON msgrcpt.rid=recip.id
    WHERE content=’S’ AND NOT (msgs.quar_type = ”) AND msgrcpt.rs IN (”,’v')
    AND ()
    GROUP BY CAST(time_iso AS DATE)
    UNION
    SELECT CAST(time_iso AS DATE) AS date,
    0 AS spam,
    COUNT(content) AS banned,
    0 AS viruses,
    0 AS badheaders,
    0 AS pending
    FROM msgs INNER JOIN msgrcpt ON msgs.mail_id=msgrcpt.mail_id
    INNER JOIN maddr AS recip ON msgrcpt.rid=recip.id
    WHERE content=’B’ AND NOT (msgs.quar_type = ”) AND msgrcpt.rs IN (”,’v')
    AND ()
    GROUP BY CAST(time_iso AS DATE)
    UNION
    SELECT CAST(time_iso AS DATE) AS date,
    0 AS spam,
    0 AS banned,
    COUNT(content) AS viruses,
    0 AS badheaders,
    0 AS pending
    FROM msgs INNER JOIN msgrcpt ON msgs.mail_id=msgrcpt.mail_id
    INNER JOIN maddr AS recip ON msgrcpt.rid=recip.id
    WHERE content=’V’ AND NOT (msgs.quar_type = ”) AND msgrcpt.rs IN (”,’v')
    AND ()
    GROUP BY CAST(time_iso AS DATE)
    UNION
    SELECT CAST(time_iso AS DATE) AS date,
    0 AS spam,
    0 AS banned,
    0 AS viruses,
    COUNT(content) AS badheaders,
    0 AS pending
    FROM msgs INNER JOIN msgrcpt ON msgs.mail_id=msgrcpt.mail_id
    INNER JOIN maddr AS recip ON msgrcpt.rid=recip.id
    WHERE content=’H’ AND NOT (msgs.quar_type = ”) AND msgrcpt.rs IN (”,’v')
    AND ()
    GROUP BY CAST(time_iso AS DATE)
    UNION
    SELECT CAST(time_iso AS DATE) AS date,
    0 AS spam,
    0 AS banned,
    0 AS viruses,
    0 AS badheaders,
    COUNT(content) AS pending
    FROM msgs INNER JOIN msgrcpt ON msgs.mail_id=msgrcpt.mail_id
    INNER JOIN maddr AS recip ON msgrcpt.rid=recip.id
    WHERE msgrcpt.rs=’p’ AND NOT (msgs.quar_type = ”)
    AND ()
    GROUP BY CAST(time_iso AS DATE)
    ) AS stattable
    GROUP BY date
    ORDER BY date
    ############################
    thanks in advances

  7. 9. Juli 2009, 12:48 | #7

    Hi Paulo,

    do you get any other errors or just this one ?
    have a look at /var/log/mail
    Please tell me your versions of MySQL,MailZu and amavis.

  8. Paulo Ricardo Bruck
    9. Juli 2009, 17:39 | #8

    Hi Izac

    At mailzu.log just this error.
    Versions:
    Debian Lenny 5.0
    amavisd-new 1:2.6.1.dfsg-1
    mysql-server-5.0 5.0.51a-24+lenny1
    mailzu 0.8RC3-1

    after sending an email to list I tried to send a virus to test amavis and part of mailzu is working and part not…

    Looking at mailzu the part it is not working is when I click at:
    - Quarantine Summary error:
    There was an error executing your query:
    DB Error: syntax error
    Back
    - Site Quarantine: showm me nothing
    - Site Pending Requests – show me : There are no matching records.

    Looking at /var/log/mail.warn I see this errors:

    Jul 9 11:33:07 cerberus postfix/smtpd[30463]: warning: Illegal address syntax from localhost.localdomain[127.0.0.1] in MAIL command:
    Jul 9 11:33:07 cerberus amavis[30793]: (30793-01) (!)SEND via SMTP: -> ,ENVID=AM..20090709T143307Z@cerberus.contatogs.com.br 501 5.1.7 Failed, id=30793-01, from MTA([127.0.0.1]:10025): 501 5.1.7 Bad sender address syntax
    Jul 9 11:33:07 cerberus amavis[30793]: (30793-01) (!)FAILED to notify admin: 501 5.1.7 Failed, id=30793-01, from MTA([127.0.0.1]:10025): 501 5.1.7 Bad sender address syntax

    humm testing it:
    root@cerberus.contatogs.com.br:~# hostname –fqdn
    cerberus.contatogs.com.br
    I see at /etc/amavis/conf.d/05-node_id and tried to change
    #$myhostname = “mail.example.com”
    to
    $myhostname = “cerberus.contatogs.com.br”

    and restarting amavis it gaves me this error..

    Number found where operator expected at /etc/amavis/conf.d/05-node_id line 14, near “1″
    (Missing semicolon on previous line?)
    Error in config file “/etc/amavis/conf.d/05-node_id”: syntax error at /etc/amavis/conf.d/05-node_id line 14, near “1″
    (failed).

    ok returning to default, amavis is ok….

    Any clues ???

    thanks

    huuum fanny the hostname it’s ok…..

  9. 9. Juli 2009, 19:52 | #9

    Hi Paulo,

    1) check that you terminate the $myhostname varibale wit a “;”
    it should look like this
    $myhostname = ‘mail.cooldomain.com’;

    2)The “bad sender address syntax” error, what shows your main.cf under myorigin and masquerade ?

    3) Is Postfix and amavis working correctly without mailzu ?

    I will check some other thing and get back to you tomorrow.Promise ;)

  10. Paulo Ricardo Bruck
    9. Juli 2009, 22:01 | #10

    Hi Izac

    Thanks for helping.

    about 1) I insert “;” at the end , but I receveive the same error….

    Jul 9 16:41:58 cerberus postfix/smtpd[3755]: warning: Illegal address syntax from localhost.localdomain[127.0.0.1] in MAIL command:
    Jul 9 16:41:58 cerberus amavis[4327]: (04327-01) (!)SEND via SMTP: -> ,ENVID=AM..20090709T194158Z@cerberus.contatogs.com.br 501 5.1.7 Failed, id=04327-01, from MTA([127.0.0.1]:10025): 501 5.1.7 Bad sender address syntax
    Jul 9 16:41:58 cerberus amavis[4327]: (04327-01) (!)FAILED to notify admin: 501 5.1.7 Failed, id=04327-01, from MTA([127.0.0.1]:10025): 501 5.1.7 Bad sender address syntax
    humm it was not from amavis and I ‘ve already tried to check from where it comes this “${myhostname}” using grep at /etc/amavis/conf.d and at /usr/share/mailzu ( where is mailzu php)….

    2) I’m using using this machine as a gateway in front of a debian_zimbra solution, and at main.cf it has:
    mydomain = contatogs.com.br
    myhostname = cerberus.contatogs.com.br
    myorigin = $mydomain
    relay_domains = $mydomain

    3) yes
    postfix alone = yes
    postfix + amavis = yes
    postfix + amavis + mysql + mailzu = not a 100% ….

    again thanks for helping

  11. 10. Juli 2009, 22:33 | #11

    Hi Paulo,

    can you send me your main.cf,amavisd.conf and a dump from your mailzu db ?

  12. Paulo Ricardo Bruck
    12. Juli 2009, 00:33 | #12

    Hi Izac

    here what you asked:

    main.cfalias_maps = hash:/etc/aliases
    bounce_template_file = /etc/postfix/bounce.cf
    bounce_queue_lifetime = 1d
    default_destination_rate_delay = 0s
    default_destination_recipient_limit = 50
    default_extra_recipient_limit = 1000
    delay_warning_time = 0h
    disable_vrfy_command = yes
    home_mailbox = Maildir/
    mailbox_command =
    mailbox_size_limit = 0
    maximal_queue_lifetime = 1d
    message_size_limit = 10240000
    mydestination = $myhostname, localhost.$mydomain, localhost
    mydomain = contatogs.com.br
    myhostname = cerberus.contatogs.com.br
    mynetworks = 127.0.0.0/8 192.168.1.0/24

    mynetworks_style = subnet
    myorigin = $mydomain
    notify_classes = bounce, delay, policy, protocol, resource, software
    recipient_delimiter = +
    relay_domains = $mydomain
    relayhost = 172.16.0.2
    relay_recipient_maps = hash:/etc/postfix/relay_recipients
    local_recipient_maps =
    smtpd_banner = $myhostname ESMTP
    smtpd_recipient_limit = 1000
    smtpd_recipient_overshoot_limit =1000
    smtpd_helo_required = yes
    smtpd_delay_reject = yes
    smtpd_client_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    check_client_access hash:/etc/postfix/client_access,
    warn_if_reject, reject_rhsbl_client,
    warn_if_reject, reject_unknown_client_hostname,
    warn_if_reject, reject_unknown_reverse_client_hostname,
    permit
    smtpd_helo_restrictions = permit_mynetworks,
    check_helo_access hash:/etc/postfix/helo_access,
    reject_invalid_helo_hostname,
    reject_non_fqdn_helo_hostname,
    reject_unknown_helo_hostname,
    permit
    smtpd_sender_restrictions = permit_mynetworks,
    check_sender_access hash:/etc/postfix/sender_access,
    reject_non_fqdn_sender,
    reject_unknown_sender_domain,
    permit
    smtpd_recipient_restrictions = permit_mynetworks,
    check_recipient_access hash:/etc/postfix/recipient_access,
    reject_non_fqdn_recipient,
    reject_unauth_destination,
    reject_unknown_recipient_domain,
    reject_unverified_recipient,
    check_policy_service unix:private/policyd-spf
    check_policy_service inet:127.0.0.1:60000,
    permit
    smtpd_data_restrictions = permit_mynetworks,
    reject_unauth_pipelining,
    reject_multi_recipient_bounce,
    permit
    smtpd_end_of_data_restrictions = permit_mynetworks,
    permit
    smtpd_etrn_restrictions = permit_mynetworks,
    permit
    policyd-spf_time_limit = 3600
    content_filter=smtp-amavis:[127.0.0.1]:10024
    strict_rfc821_envelopes = yes

    amavisd.conf ( revelant part)

    @lookup_sql_dsn = ( ['DBI:mysql:database=amavis;host=localhost', 'amavis', 'adminamavis'] );
    @storage_sql_dsn = @lookup_sql_dsn;
    $banned_files_quarantine_method = ‘sql:’;
    $spam_quarantine_method = ‘sql:’;
    $inet_socket_bind = undef;

    $inet_socket_port = [10024, 9998];
    $interface_policy{’9998′} = ‘AM.PDP’;
    $policy_bank{‘AM.PDP’} = {
    protocol => ‘AM.PDP’, # select Amavis policy delegation protocol
    inet_acl => [qw( 127.0.0.1 [::1] 192.168.1.1)],
    };

    $timestamp_fmt_mysql = 1;

    amavis.sql

    – MySQL dump 10.11

    – Host: localhost Database: amavisd_new
    – ——————————————————
    – Server version 5.0.51a-3ubuntu5.4

    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8 */;
    /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
    /*!40103 SET TIME_ZONE=’+00:00′ */;
    /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’ */;
    /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;


    – Table structure for table `maddr`

    DROP TABLE IF EXISTS `maddr`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `maddr` (
    `partition_tag` int(11) default ’0′,
    `id` bigint(20) unsigned NOT NULL auto_increment,
    `email` varbinary(255) NOT NULL,
    `domain` varchar(255) NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `part_email` (`partition_tag`,`email`)
    ) ENGINE=InnoDB AUTO_INCREMENT=14373 DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `mailaddr`

    DROP TABLE IF EXISTS `mailaddr`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `mailaddr` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `priority` int(11) NOT NULL default ’7′,
    `email` varbinary(255) NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `msgrcpt`

    DROP TABLE IF EXISTS `msgrcpt`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `msgrcpt` (
    `partition_tag` int(11) default ’0′,
    `mail_id` varbinary(12) NOT NULL,
    `rid` bigint(20) unsigned NOT NULL,
    `ds` char(1) NOT NULL,
    `rs` char(1) NOT NULL,
    `bl` char(1) default ”,
    `wl` char(1) default ”,
    `bspam_level` float default NULL,
    `smtp_resp` varchar(255) default ”,
    KEY `msgrcpt_idx_mail_id` (`mail_id`),
    KEY `msgrcpt_idx_rid` (`rid`),
    CONSTRAINT `msgrcpt_ibfk_1` FOREIGN KEY (`rid`) REFERENCES `maddr` (`id`),
    CONSTRAINT `msgrcpt_ibfk_2` FOREIGN KEY (`mail_id`) REFERENCES `msgs` (`mail_id`) ON DELETE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `msgs`

    DROP TABLE IF EXISTS `msgs`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `msgs` (
    `partition_tag` int(11) default ’0′,
    `mail_id` varbinary(12) NOT NULL,
    `secret_id` varbinary(12) default ”,
    `am_id` varchar(20) NOT NULL,
    `time_num` int(10) unsigned NOT NULL,
    `time_iso` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `sid` bigint(20) unsigned NOT NULL,
    `policy` varchar(255) default ”,
    `client_addr` varchar(255) default ”,
    `size` int(10) unsigned NOT NULL,
    `content` binary(1) default NULL,
    `quar_type` binary(1) default NULL,
    `quar_loc` varbinary(255) default ”,
    `dsn_sent` char(1) default NULL,
    `spam_level` float default NULL,
    `message_id` varchar(255) default ”,
    `from_addr` varchar(255) default ”,
    `subject` varchar(255) default ”,
    `host` varchar(255) NOT NULL,
    PRIMARY KEY (`mail_id`),
    KEY `msgs_idx_sid` (`sid`),
    KEY `msgs_idx_mess_id` (`message_id`),
    KEY `msgs_idx_time_num` (`time_num`),
    CONSTRAINT `msgs_ibfk_1` FOREIGN KEY (`sid`) REFERENCES `maddr` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `policy`

    DROP TABLE IF EXISTS `policy`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `policy` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `policy_name` varchar(32) default NULL,
    `virus_lover` char(1) default NULL,
    `spam_lover` char(1) default NULL,
    `banned_files_lover` char(1) default NULL,
    `bad_header_lover` char(1) default NULL,
    `bypass_virus_checks` char(1) default NULL,
    `bypass_spam_checks` char(1) default NULL,
    `bypass_banned_checks` char(1) default NULL,
    `bypass_header_checks` char(1) default NULL,
    `spam_modifies_subj` char(1) default NULL,
    `virus_quarantine_to` varchar(64) default NULL,
    `spam_quarantine_to` varchar(64) default NULL,
    `banned_quarantine_to` varchar(64) default NULL,
    `bad_header_quarantine_to` varchar(64) default NULL,
    `clean_quarantine_to` varchar(64) default NULL,
    `other_quarantine_to` varchar(64) default NULL,
    `spam_tag_level` float default NULL,
    `spam_tag2_level` float default NULL,
    `spam_kill_level` float default NULL,
    `spam_dsn_cutoff_level` float default NULL,
    `spam_quarantine_cutoff_level` float default NULL,
    `addr_extension_virus` varchar(64) default NULL,
    `addr_extension_spam` varchar(64) default NULL,
    `addr_extension_banned` varchar(64) default NULL,
    `addr_extension_bad_header` varchar(64) default NULL,
    `warnvirusrecip` char(1) default NULL,
    `warnbannedrecip` char(1) default NULL,
    `warnbadhrecip` char(1) default NULL,
    `newvirus_admin` varchar(64) default NULL,
    `virus_admin` varchar(64) default NULL,
    `banned_admin` varchar(64) default NULL,
    `bad_header_admin` varchar(64) default NULL,
    `spam_admin` varchar(64) default NULL,
    `spam_subject_tag` varchar(64) default NULL,
    `spam_subject_tag2` varchar(64) default NULL,
    `message_size_limit` int(11) default NULL,
    `banned_rulenames` varchar(64) default NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `quarantine`

    DROP TABLE IF EXISTS `quarantine`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `quarantine` (
    `partition_tag` int(11) default ’0′,
    `mail_id` varbinary(12) NOT NULL,
    `chunk_ind` int(10) unsigned NOT NULL,
    `mail_text` blob NOT NULL,
    PRIMARY KEY (`mail_id`,`chunk_ind`),
    CONSTRAINT `quarantine_ibfk_1` FOREIGN KEY (`mail_id`) REFERENCES `msgs` (`mail_id`) ON DELETE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `users`

    DROP TABLE IF EXISTS `users`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `priority` int(11) NOT NULL default ’7′,
    `policy_id` int(10) unsigned NOT NULL default ’1′,
    `email` varbinary(255) NOT NULL,
    `fullname` varchar(255) default NULL,
    `local` char(1) default NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;


    – Table structure for table `wblist`

    DROP TABLE IF EXISTS `wblist`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `wblist` (
    `rid` int(10) unsigned NOT NULL,
    `sid` int(10) unsigned NOT NULL,
    `wb` varchar(10) NOT NULL,
    PRIMARY KEY (`rid`,`sid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    SET character_set_client = @saved_cs_client;
    /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

    – Dump completed on 2009-07-09 7:00:29

    best regards

  13. 14. Juli 2009, 22:15 | #13

    Hi Paulo,

    give me a couple of days, got a lot of work at the moment.
    I let you know what I could figure out.

    Cu
    izac

  14. 29. Juli 2009, 09:22 | #14

    Hi Paulo,

    can you try this database


    – Table structure for table `maddr`

    DROP TABLE IF EXISTS `maddr`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `maddr` (
    `partition_tag` int(11) default ’0′,
    `id` bigint(20) unsigned NOT NULL auto_increment,
    `email` varbinary(255) NOT NULL,
    `domain` varchar(255) NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `part_email` (`partition_tag`,`email`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `maddr`

    LOCK TABLES `maddr` WRITE;
    /*!40000 ALTER TABLE `maddr` DISABLE KEYS */;
    /*!40000 ALTER TABLE `maddr` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `mailaddr`

    DROP TABLE IF EXISTS `mailaddr`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `mailaddr` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `priority` int(11) NOT NULL default ’7′,
    `email` varbinary(255) NOT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `mailaddr`

    LOCK TABLES `mailaddr` WRITE;
    /*!40000 ALTER TABLE `mailaddr` DISABLE KEYS */;
    /*!40000 ALTER TABLE `mailaddr` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `msgrcpt`

    DROP TABLE IF EXISTS `msgrcpt`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `msgrcpt` (
    `partition_tag` int(11) default ’0′,
    `mail_id` varbinary(12) NOT NULL,
    `rid` bigint(20) unsigned NOT NULL,
    `ds` char(1) NOT NULL,
    `rs` char(1) NOT NULL,
    `bl` char(1) default ”,
    `wl` char(1) default ”,
    `bspam_level` float default NULL,
    `smtp_resp` varchar(255) default ”,
    KEY `msgrcpt_idx_mail_id` (`mail_id`),
    KEY `msgrcpt_idx_rid` (`rid`),
    CONSTRAINT `msgrcpt_ibfk_1` FOREIGN KEY (`rid`) REFERENCES `maddr` (`id`),
    CONSTRAINT `msgrcpt_ibfk_2` FOREIGN KEY (`mail_id`) REFERENCES `msgs` (`mail_id`) ON DELETE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `msgrcpt`

    LOCK TABLES `msgrcpt` WRITE;
    /*!40000 ALTER TABLE `msgrcpt` DISABLE KEYS */;
    /*!40000 ALTER TABLE `msgrcpt` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `msgs`

    DROP TABLE IF EXISTS `msgs`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `msgs` (
    `partition_tag` int(11) default ’0′,
    `mail_id` varbinary(12) NOT NULL,
    `secret_id` varbinary(12) default ”,
    `am_id` varchar(20) NOT NULL,
    `time_num` int(10) unsigned NOT NULL,
    `time_iso` char(16) NOT NULL,
    `sid` bigint(20) unsigned NOT NULL,
    `policy` varchar(255) default ”,
    `client_addr` varchar(255) default ”,
    `size` int(10) unsigned NOT NULL,
    `content` binary(1) default NULL,
    `quar_type` binary(1) default NULL,
    `quar_loc` varbinary(255) default ”,
    `dsn_sent` char(1) default NULL,
    `spam_level` float default NULL,
    `message_id` varchar(255) default ”,
    `from_addr` varchar(255) default ”,
    `subject` varchar(255) default ”,
    `host` varchar(255) NOT NULL,
    PRIMARY KEY (`mail_id`),
    KEY `msgs_idx_sid` (`sid`),
    KEY `msgs_idx_mess_id` (`message_id`),
    KEY `msgs_idx_time_num` (`time_num`),
    CONSTRAINT `msgs_ibfk_1` FOREIGN KEY (`sid`) REFERENCES `maddr` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `msgs`

    LOCK TABLES `msgs` WRITE;
    /*!40000 ALTER TABLE `msgs` DISABLE KEYS */;
    /*!40000 ALTER TABLE `msgs` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `policy`

    DROP TABLE IF EXISTS `policy`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `policy` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `policy_name` varchar(32) default NULL,
    `virus_lover` char(1) default NULL,
    `spam_lover` char(1) default NULL,
    `banned_files_lover` char(1) default NULL,
    `bad_header_lover` char(1) default NULL,
    `bypass_virus_checks` char(1) default NULL,
    `bypass_spam_checks` char(1) default NULL,
    `bypass_banned_checks` char(1) default NULL,
    `bypass_header_checks` char(1) default NULL,
    `spam_modifies_subj` char(1) default NULL,
    `virus_quarantine_to` varchar(64) default NULL,
    `spam_quarantine_to` varchar(64) default NULL,
    `banned_quarantine_to` varchar(64) default NULL,
    `bad_header_quarantine_to` varchar(64) default NULL,
    `clean_quarantine_to` varchar(64) default NULL,
    `other_quarantine_to` varchar(64) default NULL,
    `spam_tag_level` float default NULL,
    `spam_tag2_level` float default NULL,
    `spam_kill_level` float default NULL,
    `spam_dsn_cutoff_level` float default NULL,
    `spam_quarantine_cutoff_level` float default NULL,
    `addr_extension_virus` varchar(64) default NULL,
    `addr_extension_spam` varchar(64) default NULL,
    `addr_extension_banned` varchar(64) default NULL,
    `addr_extension_bad_header` varchar(64) default NULL,
    `warnvirusrecip` char(1) default NULL,
    `warnbannedrecip` char(1) default NULL,
    `warnbadhrecip` char(1) default NULL,
    `newvirus_admin` varchar(64) default NULL,
    `virus_admin` varchar(64) default NULL,
    `banned_admin` varchar(64) default NULL,
    `bad_header_admin` varchar(64) default NULL,
    `spam_admin` varchar(64) default NULL,
    `spam_subject_tag` varchar(64) default NULL,
    `spam_subject_tag2` varchar(64) default NULL,
    `message_size_limit` int(11) default NULL,
    `banned_rulenames` varchar(64) default NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `policy`

    LOCK TABLES `policy` WRITE;
    /*!40000 ALTER TABLE `policy` DISABLE KEYS */;
    /*!40000 ALTER TABLE `policy` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `quarantine`

    DROP TABLE IF EXISTS `quarantine`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `quarantine` (
    `partition_tag` int(11) default ’0′,
    `mail_id` varbinary(12) NOT NULL,
    `chunk_ind` int(10) unsigned NOT NULL,
    `mail_text` blob NOT NULL,
    PRIMARY KEY (`mail_id`,`chunk_ind`),
    CONSTRAINT `quarantine_ibfk_1` FOREIGN KEY (`mail_id`) REFERENCES `msgs` (`mail_id`) ON DELETE CASCADE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `quarantine`

    LOCK TABLES `quarantine` WRITE;
    /*!40000 ALTER TABLE `quarantine` DISABLE KEYS */;
    /*!40000 ALTER TABLE `quarantine` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `users`

    DROP TABLE IF EXISTS `users`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `users` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `priority` int(11) NOT NULL default ’7′,
    `policy_id` int(10) unsigned NOT NULL default ’1′,
    `email` varbinary(255) NOT NULL,
    `fullname` varchar(255) default NULL,
    `local` char(1) default NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `email` (`email`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `users`

    LOCK TABLES `users` WRITE;
    /*!40000 ALTER TABLE `users` DISABLE KEYS */;
    /*!40000 ALTER TABLE `users` ENABLE KEYS */;
    UNLOCK TABLES;


    – Table structure for table `wblist`

    DROP TABLE IF EXISTS `wblist`;
    SET @saved_cs_client = @@character_set_client;
    SET character_set_client = utf8;
    CREATE TABLE `wblist` (
    `rid` int(10) unsigned NOT NULL,
    `sid` int(10) unsigned NOT NULL,
    `wb` varchar(10) NOT NULL,
    PRIMARY KEY (`rid`,`sid`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    SET character_set_client = @saved_cs_client;


    – Dumping data for table `wblist`

    LOCK TABLES `wblist` WRITE;
    /*!40000 ALTER TABLE `wblist` DISABLE KEYS */;
    /*!40000 ALTER TABLE `wblist` ENABLE KEYS */;
    UNLOCK TABLES;
    /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

    /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
    /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
    /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

    – Dump completed on 2009-07-29 6:54:51

  15. 29. Juli 2009, 09:24 | #15

    and please change your mysql password for the amavis db, you posted it here ;)

  16. toknowit
    1. August 2011, 21:53 | #16

    Hallo,

    Ich nutze amavis-new-2.6.1
    Kannst du mir bitte sagen, in welche der configs ich deine Anpassungen machen muss.
    Alles in einer conf oder in verschiedenen?

    Danke im Voraus für deine Antwort

  17. 2. August 2011, 11:30 | #17

    Hi Toknowit,

    im Prinzip kannst du das in die amavisd.conf schreiben, wenn du ein Debian/Ubuntu am laufen hast ist die Config gesplittet in verschiedene Config Dateien. Ich würde es dann in die 01-Debian oder 25-amavis_helpers schreiben. Du kannst alles in eine Datei schreiben das sollte kein Problem sein.

    VG

  18. toknowit
    3. August 2011, 13:11 | #18

    Hallo izac,

    perfekt, läuft alles … besten Dank. :mrgreen:

    Weißt du, in wie weit an dem Projekt noch gearbeitet wird?

    Denn wenn man sich die Tabellen anschaut, in denen nocht nichts steht und/oder
    es gibt einen Superadmin und den Mailadmin etc.
    Aber wenn ich mir das vom Datum des letzten Update anschaue und die eigentliche Webseite ist auch offline, dann passiert da wohl nichts mehr :?:

    VG

  19. 3. August 2011, 20:07 | #19

    Hi,

    freut mich das es funktioniert :)
    Also ich vermute das Projekt ist fast tot, genau weiss ich das allerdings auch nicht.
    Vielleicht gibt es aber mittlerweile auch einen fork des Projekts.

    VG

  1. Bisher keine Trackbacks