MailZu Installation – Ein amavisd-release Webinterface

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 argumentsamavisd-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 combinedSetOutputFilter 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.
- Mailzu: http://www.mailzu.net/
- Amavisd-new: http://www.ijs.si/software/amavisd/
Das solltest du auch noch lesen:
- IBM DB2 Technology Explorer
- Apache reverse proxy für Exchange 2007 und 2010 – Outlook Webaccess
- ModSecurity Console HowTo
- Cisco ASA 5505 – IOS update auf 8.3 & ASDM Update 6.3
- Subversion Authentifizierung am Active Directory über ldap
Hallo,
zuerst einmal vielen Dank für dein klasse HowTo, hat mir sehr geholfen
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
Hi Hampe keine Ursache, freut mich wenn es geholfen hat
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
Habs gefunden.
Wenn man diesen Eintrag noch erstellt funzt es: $timestamp_fmt_mysql = 1;
Gruss
Hampe
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.
Hey Mangoo,
I’m a bit confused now, do you need help in any way ?
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
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.
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…..
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
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
Hi Paulo,
can you send me your main.cf,amavisd.conf and a dump from your mailzu db ?
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
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
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
and please change your mysql password for the amavis db, you posted it here
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
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
Hallo izac,
perfekt, läuft alles … besten Dank.
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
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