Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Exim4 + MySQL + ClamAV + SpamAssassin + IMAP + SSL/TLS Howto
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Sun Feb 19, 2006 7:08 pm    Post subject: Exim4 + MySQL + ClamAV + SpamAssassin + IMAP + SSL/TLS Howto Reply with quote

Was ist exim? Warum will ich das haben? Was sind dessen Vorteile?


Nun zuerst einmal, exim4 ist platt gesagt ein MTA, ein Mailserver ähnlich wie Postfix auch. Für Postfix gibt es ein Virtual Mail Howto auf gentoo.org was auch wunderbar funktioniert. Allerdings haben sich mir im Laufe der Zeit ein paar Ärgernisse gezeigt die mir Postfix gebracht hat, respektive Postfix in Zusammenarbeit mit Virtual Domains so dass ich mir über eine andere bessere Lösung Gedanken machte.

Exim ist ein MTA den es schon recht lange gibt und der nach näherer Betrachtung sehr gut einzubinden ist. Ich will in diesem Howto zeigen wie man folgendes realisiert:

    MTA Exim4
    Virtual Domains und User in MySQL Datenbank
    Courier IMAP und POP3 Dienst
    Amavisd-New und Clamd als Virenscanner
    SpamAssassin als Spamkiller


Die Vorteile von Exim liegen meiner Auffassung nach in der Tatsache, dass Exim keinerlei externe Werkzeuge oder Plugins benötigt um mit beliebigen Datenbanken zu kommunizieren. Man kann die Abfragen direkt in der exim.conf steuern und bearbeiten, das birgt auch weniger Probleme in der Art wie ich sie oft hatte, wenn ein Gentoo update kam und irgendwas in der Kette der Plugins von Postfix schief ging.

Achja, ich weiss dass man in Exim4 auch mit exiscan-acl ein komplettes Spam- und Virenfiltering erledigen kann. Den Exim auf exiscan-acl umzustellen werde ich später versuchen wenn ich dazu die Zeit finde, momentan ist die amavisd-new Lösung in meinem Setup vertreten. Wenn mir jemand allerdings dazu eine funktionierende Config geben kann, dann bringe ich die gerne hier im Howto unter.

Wichtig: Das hier ist ein Howto, ich erhebe keinen Anspruch darauf, dass alles funktionieren muss und ebenso kann ich Fehler machen beim Schreiben eines solchen. Ich bin ebenso (noch) kein Exim-Gott (fraglich ob ichs werde :-)), ich habe mich seit einigen Wochen mit Exim beschäftigt und stelle schlicht fest, dass es mir sehr gut gefällt. Fehler und Anmerkungen werde ich gerne verbessern.



1.exim4 installieren


Zuerst muss exim installiert werden, damit das alles glatt geht so wie wir das brauchen muss entweder mysql support in die make.conf global eingetragen oder für das exim ebuild in die package.use gesperrt werden.

Wenn das Ganze eine neue Installation ist, dann muss vorher „mail-mta/ssmtp“ deinstalliert werden, das blocked sonst exim.

Code:
echo "mail-mta/exim mysql ssl" >> /etc/portage/package.use
emerge exim


Der Eine oder Andere wird vermutlich anmerken, dass es ein USE Flag für „syslog“ support gibt. Ich mag es allerdings gerne wenn Exim in seine eigenen Logfiles schreibt, von daher habe ich das per default ausgeschaltet gelassen.

2.Amavisd-new und ClamAV installieren

Also der Amavisd-New erledigt im Prinzip das Content Filtering und die übergabe an den Virenscanner.

Code:
emerge mail-filter/amavisd-new


Code:
emerge app-antivirus/clamav


3.Courier-IMAP installieren


Der Courier-IMAP wird später pop3 und imap Postfächer zur Verfügung stellen.

Code:
emerge net-mail/courier-imap


4.SpamAssassin installieren

Ich spreche den SA über den spamd an. Das funktioniert bei mir erstmal soweit sehr gut, auch hier: das könnte man gut via exiscan-acl machen, aber wie erwähnt, ich hab das noch nicht getestet.

Code:
emerge mail-filter/spamassassin


Meine SA Konfiguration ist etwas eigenwillig, ich verwende einen amd64 für dieses Setup, ich habe einige Perl Module für die SA Geschichten via g-cpan selbst nachinstalliert. Ich weiss leider nicht mehr genau welche ich alle für den SA zusätzlich installiert habe, aber diese Liste spiegelt alle meine Perlmodule wieder.

Code:
dev-perl/Net-Daemon-0.38
dev-perl/PlRPC-0.2016-r1
dev-perl/DBI-1.46
dev-perl/DBD-mysql-2.9007
dev-perl/Compress-Zlib-1.35
dev-perl/IO-Zlib-1.01
dev-perl/IO-String-1.05
dev-perl/Archive-Tar-1.26
dev-perl/HTML-Tagset-3.03-r2
dev-perl/HTML-Parser-3.46
dev-perl/Authen-SASL-2.09
dev-perl/URI-1.35
dev-perl/Crypt-SSLeay-0.51
dev-perl/libwww-perl-5.800
dev-perl/Net-SSLeay-1.25
dev-perl/IO-Socket-SSL-0.96
dev-perl/Digest-SHA1-2.10
dev-perl/Digest-HMAC-1.01-r1
dev-perl/Net-DNS-0.49
dev-perl/Digest-Nilsimsa-0.06-r1
dev-perl/Locale-gettext-1.03
dev-perl/yaml-0.36
dev-perl/module-build-0.25
dev-perl/IPC-ShareLite-0.09
dev-perl/Error-0.15-r2
dev-perl/Cache-Cache-1.03
dev-perl/Cache-Cache-1.03
dev-perl/IO-String-1.05
dev-perl/Digest-SHA1-2.10
dev-perl/Heap-0.71
dev-perl/module-build-0.25
dev-perl/TimeDate-1.16
dev-perl/TermReadKey-2.21
dev-perl/TermReadKey-2.30
dev-perl/Cache-Cache-1.04
dev-perl/DateManip-5.44
dev-perl/Carp-Clan-5.3
dev-perl/Bit-Vector-6.4
dev-perl/Date-Calc-5.4
dev-perl/Tie-IxHash-1.21-r1
dev-perl/Sys-Hostname-Long-1.4
dev-perl/Net-CIDR-Lite-0.18
dev-perl/Mail-SPF-Query-1.998
dev-perl/Unix-Syslog-0.100-r1
dev-perl/BerkeleyDB-0.27
dev-perl/Convert-ASN1-0.19
dev-perl/XML-Parser-2.34
dev-perl/perl-ldap-0.33
dev-perl/IO-stringy-2.110
dev-perl/MailTools-1.67
dev-perl/MIME-tools-5.417
dev-perl/Convert-TNEF-0.17-r2
dev-perl/Convert-UUlib-1.051
dev-perl/Archive-Zip-1.16
dev-perl/IO-Multiplex-1.08
dev-perl/net-server-0.87-r1
dev-perl/DBD-Pg-1.22


Also falls etwas fehlt: Eines der Dinger ist es :-)


5.MySQL installieren

Falls nicht eh schon durch die Abhängigkeit bei Exim geschen, muss noch der MySQL installiert werden.
Optional wäre es gut wenn man auch gleich PHPMyAdmin installiert, das macht die Arbeit mit der Datenbank nachher schön einfach.


6.Installation der MySQL Datenbank

Wenn der MySQL Server am laufen ist, sollte man eine Datenbank erzeugen, ich nenne sie bei mir „exim“ ihr könnt Sie gerne anders nennen.
Für die DB sollte ein zusätzlicher User erzeugt werden, der nur Rechte auf der exim db hat und sonst nirgends.

Das Layout der Exim DB sieht wie folgt aus:

Code:
-- MySQL dump 10.9
--
-- Host: localhost    Database: exim
-- ------------------------------------------------------
-- Server version   4.1.14-log

/*!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 latin1 */;
/*!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 `aliases`
--

DROP TABLE IF EXISTS `aliases`;
CREATE TABLE `aliases` (
  `alias` varchar(50) NOT NULL default '',
  `destination` varchar(100) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `aliases`
--


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

--
-- Table structure for table `blacklist`
--

DROP TABLE IF EXISTS `blacklist`;
CREATE TABLE `blacklist` (
  `domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `blacklist`
--


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

--
-- Table structure for table `boxauth`
--

DROP TABLE IF EXISTS `boxauth`;
CREATE TABLE `boxauth` (
  `boxname` varchar(50) NOT NULL default '',
  `boxpwd` varchar(20) NOT NULL default '',
  `boxinfo` varchar(100) NOT NULL default '',
  `uid` int(11) NOT NULL default '0',
  `gid` int(11) NOT NULL default '0',
  `email` varchar(100) NOT NULL default '',
  PRIMARY KEY  (`boxname`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `boxauth`
--


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

--
-- Table structure for table `domaintable`
--

DROP TABLE IF EXISTS `domaintable`;
CREATE TABLE `domaintable` (
  `domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `domaintable`
--


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

--
-- Table structure for table `emailtable`
--

DROP TABLE IF EXISTS `emailtable`;
CREATE TABLE `emailtable` (
  `local_part` varchar(50) NOT NULL default '',
  `domain` varchar(50) NOT NULL default '',
  `cc` varchar(100) default NULL,
  `forward` varchar(100) default NULL,
  `box` varchar(50) NOT NULL default '',
  `is_away` enum('yes','no') NOT NULL default 'no',
  `away_text` tinytext character set latin1 collate latin1_german1_ci,
  `user` varchar(50) default NULL,
  `is_enabled` enum('yes','no') NOT NULL default 'yes',
  `opt_virscan` enum('yes','no') NOT NULL default 'no',
  `opt_spamscan` enum('yes','no') NOT NULL default 'no',
  `opt_spampurge` enum('on','off') NOT NULL default 'off'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `emailtable`
--


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

--
-- Table structure for table `relaytable`
--

DROP TABLE IF EXISTS `relaytable`;
CREATE TABLE `relaytable` (
  `domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `relaytable`
--


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

--
-- Table structure for table `whitelist`
--

DROP TABLE IF EXISTS `whitelist`;
CREATE TABLE `whitelist` (
  `domain` varchar(50) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `whitelist`
--


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

/*!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 */;


Dieses Ding könnt ihr copy und paste in eine Text Datei packen und so in euren MySQL Server schaufeln:

Code:
mysql -u root -p exim < exim.dump


Dann ist die DB mit den nötigen Tabellen erzeugt.

Jetzt muss in die Exim DB noch ein wenig Inhalt. Das Ganze sieht so aus:

Tabelle Aliases:
Die Table ist nur für lokale Systemaliase gedacht.
Alias : Destination
root : adresse@woauchimmer.de

Tabelle Blacklist:
Domains oder Teile von Domains die dort eingetragen werden, werden direkt vom MTA abgelehnt und gar nicht erst weiter bearbeitet. Es kann folgendes eingetragen werden:

ident@domain.de
*@domain.de

Tabelle Whitelist:
Domains die hier eingetragen sind werden auf jeden Fall zugestellt, egal ob nun am SA als Spam markiert oder nicht. Folgendes kann eingetragen werden:

ident@domain.de
*@domain.de

Tabelle Boxauth:
In dieser Tabelle werden alle Authentifizierungsdaten hinterlegt.
boxname beinhaltet den namen der Mailbox (user001_domain.de) z.b.
boxpwd beinhaltet das Passwort, es sollte als Typ zum speichern „OLD_PASSWORD“ gewählt werden.
boxinfo beinhaltet bei mir den Namen der Person der die Box gehört.
uid die uid des Users mit dem der Courier IMAP und der Exim läuft.
gid die gid des Users mit dem der Courier IMAP und der Exim läuft
email hier trage ich die Email Adresse ein, diese wird auch als Benutzername für die SMTP und IMAP/POP Authentifizierung verwendet. Hier könntet ihr auch irgendwas anderes eintragen.

Tabelle Domaintable:
Hier kommen alle Domänen rein für die der Exim zuständig sein soll.

Tabelle Emailtable:

local_part: der ident des users (das vor dem @ bei der Mailadresse)
domain: naja, die Domain (das nach dem @ :-))
dd: Wenn diese Mailadresse direkt ein Automatisches CC irgendwo anders hin bekommen soll. Das muss dann eine Mailadresse sein
forward: Wenn die Mailadresse nur ein weiterleiter ist
box: Der Mailboxname an den die Mail zugestellt wird
is_away: Yes/No, falls der User Away geschaltet ist, wird Vacation verwendet.
away_text: Naja, der Text wird verschickt wenn der User auf Away gesetzt ist
user: Hier schreibe ich noch den Realname rein.
is_enabled: naja, tut das Konto oder nicht.
opt_virscan: ClamAV nutzen oder nicht
opt_spamscan: SA nutzen oder nicht
opt_spampurge: Erkannten Spam direkt wegschmeissne oder nicht

Tabelle: Relaytable

Hier kommen alle etwaigen Relay Domains rein

So, nun muss erstmal ein User erzeugt werden anhand dessen was ich hier oben geschrieben habe. Dem Exim eine Domain zuweisen mit der er arbeiten kann und dann kanns weitergehen mit der Konfiguration von Exim.

Bei dem ersten „Testaccount“ der angelegt wird, mal kurz opt_virscan und opt_spamscan in der DB ausschalten, dann kann besser getestet werden ob das bisherige Setup geht.


7.Konfiguration von Exim


Geschickterweise schreibt man bei Exim alles was das Teil angeht in eine einzelne Konfigurationsdatei die exim.conf.

Wer gerne TLS verwenden möchte, sollte sich entweder ein funktionierendes ssl Zertifikat kaufen (naja, vllt. bissl teuer) oder eben eines selbst erstellen, nämlich so:

Code:
openssl req -x509 -newkey rsa:1024 -keyout zertifikat.key -out zertifikat.cert -days 9999 -nodes
cat zertifikat.key zertificat.cert >> zertifikat.combined


Die beiden dann an entsprechender Stelle der exim.conf eintragen.

Das was geändert werden muss habe ich in der exim.conf entsprechend kommentiert.

Die Datei /etc/exim/exim.conf sieht wie folgt aus:

Code:
######################################################################
#                    MAIN CONFIGURATION SETTINGS                     #
######################################################################

# MySQL defines
MYSQL_SERVER=localhost
#mysql user anpassen
MYSQL_USER=exim
#mysql passwort anpassen
MYSQL_PASSWORD=password
#mysql db anpassen
MYSQL_DB=exim
#wenn ihr an den tables nix gebaut habt müsste das so bleiben
MYSQL_EMAILTABLE=emailtable
MYSQL_DOMAINTABLE=domaintable
MYSQL_DOMAINRTABLE=relaytable
MYSQL_ALIASTABLE=aliases
MYSQL_WHITETABLE=whitelist
MYSQL_BLACKTABLE=blacklist
MYSQL_AUTHTABLE=boxauth

MYSQL_Q_ALIASES=SELECT destination FROM MYSQL_ALIASTABLE WHERE alias='${quote_mysql:$local_part}'
MYSQL_Q_ISAWAY=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND is_away='yes'
MYSQL_Q_AWAYTEXT=SELECT away_text FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}'
MYSQL_Q_FORWARD=SELECT forward FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND forward != ''
MYSQL_Q_CC=SELECT cc FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}'
MYSQL_Q_LOCAL=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND box != ''
MYSQL_Q_WCLOCAL=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='*' AND forward != ''
MYSQL_Q_WCLOCFW=SELECT forward FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='*' AND forward != ''
MYSQL_Q_LDOMAIN=SELECT DISTINCT domain FROM MYSQL_DOMAINTABLE WHERE domain='$domain'
MYSQL_Q_RDOMAIN=SELECT DISTINCT domain FROM MYSQL_DOMAINRTABLE WHERE domain='$domain'
MYSQL_Q_BOXNAME=SELECT box FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}'

MYSQL_Q_SPAMC=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND opt_spamscan='yes'
MYSQL_Q_VSCAN=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND opt_virscan='yes'
MYSQL_Q_SPAMPURGE=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND opt_spampurge='yes'
MYSQL_Q_DISABLED=SELECT domain FROM MYSQL_EMAILTABLE WHERE domain='${quote_mysql:$domain}' AND local_part='${quote_mysql:$local_part}' AND is_enabled='no'
MYSQL_Q_WHITELIST=SELECT DISTINCT MYSQL_WHITETABLE.domain FROM MYSQL_WHITETABLE WHERE '${quote_mysql:$sender_address}' LIKE whitelist.domain
MYSQL_Q_BLACKLIST=SELECT DISTINCT MYSQL_BLACKTABLE.domain FROM MYSQL_BLACKTABLE WHERE '${quote_mysql:$sender_address}' LIKE blacklist.domain
MYSQL_Q_AUTHPWD1=SELECT email FROM MYSQL_AUTHTABLE WHERE email='$2' AND boxpwd=encrypt('$3',boxpwd)
MYSQL_Q_AUTHPWD2=SELECT email FROM MYSQL_AUTHTABLE WHERE email='$1' AND boxpwd=encrypt('$2',boxpwd)

hide mysql_servers = "MYSQL_SERVER/MYSQL_DB/MYSQL_USER/MYSQL_PASSWORD"

#hier entweder: hostname.domain.de oder einfach nur domain.de rein
primary_hostname = domain.de

domainlist local_domains = mysql;MYSQL_Q_LDOMAIN
domainlist relay_to_domains = mysql;MYSQL_Q_RDOMAIN
hostlist   relay_from_hosts = 127.0.0.1

acl_smtp_rcpt = acl_check_rcpt
#hier auch nochmal die domain.de rein, das braucht man für mailx und cron...
qualify_domain = domain.de

never_users = root
trusted_users =

# ich habe hier den rfc1413 timeout auf 0 sec gestellt, sonst dauert mails versneden ewig und 3 tage...
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s

check_spool_space = 50M
check_log_space = 20M
return_size_limit = 20k
#naja, bei mir halt 20mb... wer mehr will anpassen.
message_size_limit = 20M

ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d

deliver_queue_load_max = 8
queue_only_load = 10
remote_max_parallel = 15

# wer TLS für smtp haben möchte, das folgende bitte einkommentieren und mit korrekten zertifikaten versehen
#tls_certificate = /var/ssl/tolleszertifikat.cert
#tls_privatekey = /var/ssl/tolleszertifikat.key
#tls_advertise_hosts = *

# das hier ist wichtig für den amavisd. Wenn dem howto gefolgt wird kanns so bleiben
local_interfaces = 0.0.0.0.25 : 127.0.0.1.10025

######################################################################
#                       ACL CONFIGURATION                            #
#         Specifies access control lists for incoming SMTP mail      #
######################################################################

begin acl

acl_check_rcpt:
  accept  hosts = :
  deny    domains       = +local_domains
          local_parts   = ^[.] : ^.*[@%!/|]
  deny    domains       = !+local_domains
          local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
  accept  local_parts   = postmaster
          domains       = +local_domains
  require verify        = sender
  accept  domains       = +local_domains
          endpass
          verify        = recipient
  accept  domains       = +relay_to_domains
          endpass
          verify        = recipient
  accept  hosts         = +relay_from_hosts
  accept  authenticated = *
  deny    message       = relay not permitted


######################################################################
#                      ROUTERS CONFIGURATION                         #
#               Specifies how addresses are handled                  #
######################################################################
#     THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT!       #
# An address is passed to each router in turn until it is accepted.  #
######################################################################

begin routers

fail_router:
  driver = redirect
  domains = ${lookup mysql {MYSQL_Q_DISABLED}{$value}}
  data = ":fail:"
  allow_fail

amavis_director:
        driver = manualroute
        condition = "${if eq {$interface_port}{25} {1}{0}}"
        domains = ${lookup mysql {MYSQL_Q_VSCAN}{$value}}
        transport = amavis
        route_list = "* localhost byname"
        self = send

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

blacklist_router:
  driver = manualroute
  senders = ${lookup mysql {MYSQL_Q_BLACKLIST}{$value}}
  condition = "${if !def:h_X-Spam-Flag: {1}{0}}"
  headers_add = X-Spam-Flag: YES
  route_list = * localhost
  self = pass

system_aliases:
  driver = redirect
  allow_fail
  allow_defer
  data = ${lookup mysql {MYSQL_Q_ALIASES}{$value}}
  file_transport = address_file
  pipe_transport = address_pipe

spamcheck_director:
  driver = manualroute
  domains = ${lookup mysql {MYSQL_Q_SPAMC}{$value}}
  senders = ! ${lookup mysql {MYSQL_Q_WHITELIST}{$value}}
  condition = ${if and { \
    {!eq {$received_protocol}{spam-scanned}} \
    {!eq {$received_protocol}{local}} \
    } {1}{0}}
  headers_remove = X-Spam-Flag
  route_list = "* localhost byname"
  transport = spamcheck
  verify = false

spampurge_director:
  driver = manualroute
  domains = ${lookup mysql {MYSQL_Q_SPAMPURGE}{$value}}
  condition = "${if eq{$h_X-Spam-Flag:}{YES} {1}{0}}"
  route_list = "* localhost byname"
  transport = devnull_transport
  verify = false

vacation_director:
  driver = accept
  domains = ${lookup mysql {MYSQL_Q_ISAWAY}{$value}}
  transport = vacation_autoreply
  unseen 

virtual_cc_director:
  driver = redirect
  data = ${lookup mysql {MYSQL_Q_CC}{$value}}
  unseen

virtual_forward_director:
  driver = redirect
  data = ${lookup mysql {MYSQL_Q_FORWARD}{$value}}

virtual_local_mailbox:
  driver = accept
  domains = ${lookup mysql {MYSQL_Q_LOCAL}{$value}}
  transport = virtual_local_md_delivery

virtual_wclocal_redirect:
  driver = redirect
  domains = ${lookup mysql {MYSQL_Q_WCLOCAL}{$value}}
  data = ${lookup mysql {MYSQL_Q_WCLOCFW}{$value}}
     
######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################
#                       ORDER DOES NOT MATTER                        #
#     Only one appropriate transport is called for each delivery.    #
######################################################################

begin transports

remote_smtp:
  driver = smtp

devnull_delivery:
  driver = appendfile
  file = /dev/null
  group = mail

address_pipe:
  driver = pipe
  return_output

address_file:
  driver = appendfile
  delivery_date_add
  envelope_to_add
  return_path_add

address_reply:
  driver = autoreply

amavis:
  driver = smtp
  port = 10024
  allow_localhost

spamcheck:
  driver = pipe
  command = /usr/sbin/exim -oMr spam-scanned -bS
  use_bsmtp = true
  transport_filter = "/usr/bin/spamc"
  home_directory = "/tmp"
  current_directory = "/tmp"
  user = mail
  group = mail
  log_output = true
  return_fail_output = true
  return_path_add = false
  message_prefix =
  message_suffix =

virtual_local_md_delivery:
  driver = appendfile
  #ich stopfe alle meine mail user nach /home/vmail wenn ihr das gerne nach /var/ oder sonstwohin wollt dann muss das hier angepasst werden.
  directory = /home/vmail/${lookup mysql {MYSQL_Q_BOXNAME}{$value}}
  maildir_format
# ich verwende mail:mail für user und gruppe. Wenn ihr hier was anderes bevorzugt, muss das auch geändert werden.
  user = mail
  group = mail
  mode = 0660
  directory_mode = 0770

vacation_autoreply:
  driver = autoreply
  to = ${sender_address}
  from = "vacation@${domain}"
  subject = "Ihre Nachricht an ${local_part}@${domain}"
  text = ${lookup mysql {MYSQL_Q_AWAYTEXT}{$value}}

devnull_transport:
  driver = appendfile
  file = /dev/null
  user = mail

######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################

begin retry

# This single retry rule applies to all domains and all errors. It specifies
# retries every 15 minutes for 2 hours, then increasing retry intervals,
# starting at 1 hour and increasing each time by a factor of 1.5, up to 16
# hours, then retries every 6 hours until 4 days have passed since the first
# failed delivery.

# Domain               Error       Retries
# ------               -----       -------

*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,6h



######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################

# There are no rewriting specifications in this default configuration file.
begin rewrite

######################################################################
#                   AUTHENTICATION CONFIGURATION                     #
######################################################################

# There are no authenticator specifications in this default configuration file.

begin authenticators

fixed_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${lookup mysql{MYSQL_Q_AUTHPWD1}{1}fail}
  server_set_id = $2

fixed_login:
  driver = plaintext
  public_name = LOGIN
  server_prompts = "Username:: : Password::"
  server_condition = ${lookup mysql{MYSQL_Q_AUTHPWD2}{1}fail}
  server_set_id = $1

######################################################################
#                   CONFIGURATION FOR local_scan()                   #
######################################################################

# If you have built Exim to include a local_scan() function that contains
# tables for private options, you can define those options here. Remember to
# uncomment the "begin" line. It is commented by default because it provokes
# an error with Exim binaries that are not built with LOCAL_SCAN_HAS_OPTIONS
# set in the Local/Makefile.

# begin local_scan


# End of Exim configuration file


So, alles was in dem config file ist ab nach /etc/exim/exim.conf. Wenn das alles soweit geklappt hat, der delivery path auch erzeugt ist, die chowns stimmen usw. dann kann der exim gestartet werden.

Code:
/etc/init.d/exim start

Nun mal ein

Code:
tail -f /var/log/exim/exim_main.log

und eine Testmail verschicken via

Code:
echo "testmail" | mail -s "testmail" user@domain.de


(falls da steht mail command not found, muss noch das „mail-client/mailx“ installiert werden)

So, wenn alles geklappt hat, dann sollte in dem mailpath nun ein maildir erzeugt worden sein, und die Post ist ausgeliefert.

Falls dem nicht so ist: Bitte genau das exim_main.log anschauen und kucken ob sich irgendwo ein typo eingeschlichen hat.

7.Amavisd-New Konfiguration


Amavis ist einfach zu Konfigurieren, ich habe eigentlich nur ein paar wenige Dinge geändert und auch nur das zu ändernde hier aufgeführt.

Code:
/etc/amavisd.conf

# SMTP SERVER (INPUT) PROTOCOL SETTINGS (e.g. with Postfix, Exim v4, ...)
#   (used when MTA is configured to pass mail to amavisd via SMTP or LMTP)
$inet_socket_port = 10024;        # accept SMTP on this local TCP port
                                  # (default is undef, i.e. Disabled)

$inet_socket_bind = '127.0.0.1'; # limit socket bind to loopback interface
                                  # (default is '127.0.0.1')

$virus_admin = 'root@domain.de';

$final_virus_destiny      = D_PASS;  # (defaults to D_DISCARD)
$final_banned_destiny     = D_PASS;  # (defaults to D_BOUNCE)
$final_spam_destiny       = D_PASS;  # (defaults to D_BOUNCE)
$final_bad_header_destiny = D_PASS;  # (defaults to D_PASS), D_BOUNCE suggested


Danach einfach den amavisd-new starten
Code:

/etc/init.d/amavisd start

Genauso den ClamAV starten

Code:
/etc/init.d/clamd start


Und dann in der DB für den Testuser „opt_virscan“ anschalten und wieder eine Testmail versenden:

Code:
echo "testmail viren" | mail -s "testmail viren" user@domain.de


Wenn die Mail ankam, dann einfach mal die Header anschauen, wenn da drinnesteht:

Code:
X-Virus-Scanned: amavisd-new at hostname


Dann ist alles gut. Um zu testen ob der ClamAV auch wirklich anspricht, kann das Virus-Testfile von eicar.org verschickt werden, dann sollte ein Virusalert kommen usw.

9. Courier IMAP konfigurieren

Es müssen für den Courier folgende Dateien angepasst werden:

Code:
/etc/courier/authlib/authmysqlrc

MYSQL_SERVER            localhost
MYSQL_USERNAME          exim
MYSQL_PASSWORD          password
MYSQL_PORT              0
MYSQL_OPT               0
MYSQL_DATABASE          exim
MYSQL_USER_TABLE        boxauth
MYSQL_CRYPT_PWFIELD     boxpwd
MYSQL_UID_FIELD         uid
MYSQL_GID_FIELD         gid
MYSQL_LOGIN_FIELD       email
#hier muss ein etwaiger anderer mailpath eingetragen werden
MYSQL_HOME_FIELD        '/home/vmail/'
MYSQL_MAILDIR_FIELD     boxname


Code:
/etc/courier/authlib/authdaemonrc

authmodulelist="authmysql"


dann das ding starten mittels:
Code:

/etc/init.d/courier-pop3d start
/etc/init.d/courier-imapd start

und der courier ist geritzt.

Achja, so und wer nun gerne auch noch den Courier-IMAP und den Courier-POP3 Dienst mittels SSL und TLS beharken möchte, der tut bitte folgendes:

Die beiden Dateien editieren
Code:
/etc/courier-imap/imapd-ssl
/etc/courier-imap/pop3d-ssl


und jeweils diese Zeile:

Code:

TLS_CERTFILE=/var/ssl/zertifikat.combined


anpassen, so dass sie auf das zu Beginn erzeugte kombinierte Zertifikat verweist.

Dann müssen noch die beiden ssl Varianten von Courier gestartet werden

Code:

/etc/init.d/courier-imapd-ssl start
/etc/init.d/courier-pop3d-ssl start


und fertig ist der Courier mit SSL Support.


10.Konfiguration vom SpamAssassin

So, wenn der SpamAssasssin emerged ist, dann können die configfiles editiert werden:

Code:
/etc/mail/spamassassin/local.cf

required_score 5.0

skip_rbl_checks         0

bayes_auto_learn        1
use_bayes               1
bayes_path              /etc/mail/spamassassin/bayes


Nun den spamd starten und dann sollte alles flutschen.

Code:
/etc/init.d/spamd start


Den Testuser in der DB noch mit opt_spamscan befähigen dass SA verwendet wird.

Jetzt noch das GTUBE file von http://spamassassin.apache.org runterladen und eine Testmail verschicken. Wenn im Header nun ein SpamScore steht und die Mail als Spam erkannt wurde, dann ist alles fertig.

Alle Dienste nun noch in den default runlevel stecken so dass sie automatisch starten, und dann ists fertig :-).

So, nun hoffe ich, dass ich nix vergessen habe und ihr viel Spass mit Exim haben werdet.

cheerios,
toskala
_________________
adopt an unanswered post
erst denken, dann posten


Last edited by toskala on Sun Feb 26, 2006 3:26 pm; edited 3 times in total
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3485

PostPosted: Mon Feb 20, 2006 6:25 am    Post subject: Reply with quote

toskala wrote:

Code:
echo „mail-mta/exim mysql ssl“ >> /etc/portage/package.use
emerge exim


Habe mir mal erlaubt im gesamten Post in den Code-Blöcken „ und “ durch " zu ersetzen. Ich hoffe ich habe keine übersehen. Wahrscheinlich hattest Du es in einer Office-Software vorgeschrieben und dann mit C&P eingefügt, da passiert sowas ;-) Ansonsten sehr schönes HowTo.
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Mon Feb 20, 2006 10:36 am    Post subject: Reply with quote

hehe, jo in der tat, ich habs mit openoffice zusammengehackt weil das ding sonst bissl arg lang zu editieren gewesen wäre hier im forum *g* :)
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
gabelhonz
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 222
Location: 10010100111110011

PostPosted: Tue Feb 21, 2006 9:49 am    Post subject: Reply with quote

Hi,

schönes Howto, allerdings hab ich da 3 Fragen:

1. Warum kein SSL oder TLS über pop3 imap und smtp ?
2. Gibt es dafür auch so ein schönes Administrationsinterface wie für qmail? (qmail-admin)
3. Was haltet ihr von qmail ?

Zudem könnte man doch auch spamassassin und clamav etc. auch an ne mysql db anbinden oder?

gruß gabelhonz
_________________
Wenn Chuck Norris ins Wasser fällt, wird Chuck Norris nicht nass. Wasser wird Chuck Norris.
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Tue Feb 21, 2006 11:24 am    Post subject: Reply with quote

antwort:

kein ssl / tls - weil ichs noch nich fertig hab und grade vollkommen verkrankt im bett liege, muss ich dieser tage nachpflegen
ein webinterface für was? zum administrieren von konten? nein, also das hab ich zwar im sinn, aber ist ebenso noch nicht fertig

mit qmail hab ich leider bisher nur wenig zu tun gehabt, soll aber durchaus auch ein brauchbares werkzeug sein.

achja, ja, man kann SA an sql anbinden, wobei ich da aber den nutzen nich ganz sehe...

cheerios,
toskala
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
gabelhonz
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 222
Location: 10010100111110011

PostPosted: Tue Feb 21, 2006 12:22 pm    Post subject: Reply with quote

Huhu,

danke mal für deine Antwort...
Ich habe momentan qmail+vpopmail+courier am laufen und dazu gibt es eben so ein schönes Webinterface wo du dein Konto verwalten kannst.
Dort kann man dann Forwardings, Verteiler etc einrichten, ist eben ziemlich einfach und schön. Sowas wäre auch für exim nicht schlecht, aber gibt ja immerhin phpmyadmin ;)
Werde mir exim eventuell mal anschauen und dann meine Erfahrungen einfach mal posten.

tschau und gruß

gabelhonz
_________________
Wenn Chuck Norris ins Wasser fällt, wird Chuck Norris nicht nass. Wasser wird Chuck Norris.
Back to top
View user's profile Send private message
xces
Guru
Guru


Joined: 11 Oct 2002
Posts: 515

PostPosted: Wed Feb 22, 2006 5:42 pm    Post subject: Reply with quote

gabelhonz wrote:
2. Gibt es dafür auch so ein schönes Administrationsinterface wie für qmail? (qmail-admin)

vexim, OpenMailAdmin...

gabelhonz wrote:
3. Was haltet ihr von qmail ?

Abstand.

gabelhonz wrote:
Zudem könnte man doch auch spamassassin und clamav etc. auch an ne mysql db anbinden oder?

Ja, wobei ich mich frage, wozu du ClamAV an eine Datenbank anbinden willst...

toskala wrote:
achja, ja, man kann SA an sql anbinden, wobei ich da aber den nutzen nich ganz sehe...

Naja, z. B. benutzerspezifische White-/Blacklist sowie eigene Einstellungen und Spamregeln mit entsprechender Bewertung.

@toskala: Hat es einen Grund, dass du die Krücke amavisd-new benutzt und nicht direkt die Exiscan-ACL? Damit kann man SpamAssassin und diverse AV-Programme direkt an Exim anbinden.
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Wed Feb 22, 2006 6:24 pm    Post subject: Reply with quote

xces wrote:
@toskala: Hat es einen Grund, dass du die Krücke amavisd-new benutzt und nicht direkt die Exiscan-ACL? Damit kann man SpamAssassin und diverse AV-Programme direkt an Exim anbinden.


ja, weil ich mich bisher noch nie mit exiscan-acl beschäftigt habe, hab ich ins howto geschrieben. ich habe vor den näxten exim mit exiscan-acl zu betreiben damit der amavisd endlich wegkann. das ist zugegebenermaßen wirklich unschön.
hast du mir irgendwo ein schönes exiscan-acl howto?

oh, und danks für den webinterface tip :)
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
xces
Guru
Guru


Joined: 11 Oct 2002
Posts: 515

PostPosted: Wed Feb 22, 2006 6:31 pm    Post subject: Reply with quote

toskala wrote:
hast du mir irgendwo ein schönes exiscan-acl howto?

Abgesehen von der offiziellen Exim-Doku (Exiscan ist seit Exim 4.5 integriert und kein Patch ist mehr nötig) ist mir nichts brauchbares bekannt. Die Beispielkonfiguration von vexim ist noch ganz nett als Basis.
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Wed Feb 22, 2006 7:41 pm    Post subject: Reply with quote

perfekt, ich schaus mir an :)
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
gabelhonz
Apprentice
Apprentice


Joined: 30 Aug 2004
Posts: 222
Location: 10010100111110011

PostPosted: Thu Feb 23, 2006 12:29 pm    Post subject: Reply with quote

Hi,

hab noch das hier gefunden:

http://duncanthrax.net/exiscan-acl/
http://www.timj.co.uk/linux/Exim-SpamAndVirusScanning.pdf

gruß
_________________
Wenn Chuck Norris ins Wasser fällt, wird Chuck Norris nicht nass. Wasser wird Chuck Norris.
Back to top
View user's profile Send private message
LunX
Guru
Guru


Joined: 18 May 2004
Posts: 391
Location: Rastede

PostPosted: Fri Feb 24, 2006 9:26 am    Post subject: Reply with quote

Hi,
ich wollte sowas schon länger mal selber machen und hab mir jetzt mal nur zu testzwecken nen Rechner genommen Gentoo installiert und mit dem Howto angefangen.
Bisher konnt ich dem auch ganz gut folgen leider habe ich nun einen Fehler wenn ich amavisd starte:
Code:
* Starting amavisd-new ...
  The value of variable $myhostname is "SERVER", but should have been
  a fully qualified domain name; perhaps uname(3) did not provide such.
  You must explicitly assign a FQDN of this host to variable $myhostname
  in amavisd.conf, or fix what uname(3) provides as a host's network nam  [ !! ]

Ich habe versucht /etc/hosts /etc/conf.d/hostname und die amavisd.conf umzustellen leider kein Erfolg.
Gruß
Lunx
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3485

PostPosted: Fri Feb 24, 2006 12:18 pm    Post subject: Reply with quote

Evt. hier auch interessant: Feintuning für SpamAssassin
Back to top
View user's profile Send private message
xces
Guru
Guru


Joined: 11 Oct 2002
Posts: 515

PostPosted: Fri Feb 24, 2006 12:23 pm    Post subject: Reply with quote

LunX wrote:
Ich habe versucht /etc/hosts /etc/conf.d/hostname und die amavisd.conf umzustellen leider kein Erfolg.

Was sagt `hostname -f`? Was hast du in /etc/conf.d/domainname gesetzt?
Back to top
View user's profile Send private message
LunX
Guru
Guru


Joined: 18 May 2004
Posts: 391
Location: Rastede

PostPosted: Fri Feb 24, 2006 1:32 pm    Post subject: Reply with quote

hostname -f gibt SERVER.WORKGROUP aus in /etc/conf.d/domainname steht steht WORKGROUP.
Gruß
Lunx
Back to top
View user's profile Send private message
xces
Guru
Guru


Joined: 11 Oct 2002
Posts: 515

PostPosted: Fri Feb 24, 2006 8:05 pm    Post subject: Reply with quote

Dann gib das als Hostname in der amavisd.conf an.
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Fri Feb 24, 2006 9:41 pm    Post subject: Reply with quote

kurze kleine anmerkung:

ich bin momentan grade sehr in arbeit vertieft und komme nicht allzuviel zum forum mitlesen grade. falls ihr also eine anmerkung habt und ich kann sie nicht direkt umsetzen, so sei es mir nachgesehen, momentan müsste ein tag 24h haben und die nacht noch dazu :?

cheerios,
toskala
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Sun Feb 26, 2006 3:25 pm    Post subject: Reply with quote

so, die sache mit dem TLS und SSL hat mir nun doch keine ruhe gelassen, hihi, ich habs dann schnell nachgepflegt. ist in den jeweiligen sektionen nachgepflegt, sprich TLS für exim beim exim teil und TLS/SSL für courier beim courier-imap teil.

oh, ich muss sagen: ich weiss nicht ob das mit den zertifikaten so funktioniert. ich habe die zertifikate zwar testweise mal so erzeugt wie ich das hingeschrieben habe, allerdings hab ich diese testzertifikate nie im einsatz gehabt. das müsstet ihr dann mal testen, da ich gekaufte ssl zertifikate benutze... aber ich denke das sollte kein problem darstellen.

cheerios,
toskala
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
BuLLy
Tux's lil' helper
Tux's lil' helper


Joined: 26 Oct 2004
Posts: 79

PostPosted: Tue Mar 14, 2006 7:03 pm    Post subject: Reply with quote

@toskala:
Ich danke schon mal im voraus für das Exim Tutorial. Ich war immer auf der Suche nach einem vernünpftigen, hab aber nie eines gefunden. Ich werde deines die Tage mal ausprobieren.

gruß
BuLLy
Back to top
View user's profile Send private message
samsonus
Apprentice
Apprentice


Joined: 18 Jan 2005
Posts: 225
Location: Siegen

PostPosted: Tue Mar 28, 2006 3:11 pm    Post subject: Reply with quote

mal eine kleine frage, muss der courier und exim mit dem selben user laufen?
in der mysql db werden uid und gid ja eingetragen, muss ich ggf beide dienste mit demselben user laufen lassen.
bei mir laufen die dienste im mom unter verschiedenen usern.
und das login am server schlägt fehl, aber weiss nicht, ob es daran liegt.
Back to top
View user's profile Send private message
equinox0r
l33t
l33t


Joined: 18 Feb 2004
Posts: 614

PostPosted: Sat Apr 01, 2006 9:09 am    Post subject: Reply with quote

nice nice nice ...
endlich mal was brauchbares, werd meine configdahingehend mal bearbeiten :)

ein webinterface hab ich dann auch demnächst gemacht (inklusive anpassbarkeit an eigenes system, req: apache, mysql. php5, xml), sobald alles funktioniert melde ich mich wieder :)
_________________
AMD 2400+ XP | 1024 MB RAM | ATI Radeon 9600Pro
Gentoo Base System version 1.4.16 | Portage 2.0.51.19 | 2.6.11-gentoo-r9 Kernel
Back to top
View user's profile Send private message
Keepoer
Apprentice
Apprentice


Joined: 30 Mar 2004
Posts: 293
Location: Zwischen Kassel und Edewecht pendelnd

PostPosted: Tue Apr 18, 2006 7:11 pm    Post subject: Reply with quote

Sehr sehr nice. Dickes Thx!

Ich hab aber mal noch ne Frage:
Was genau passiert denn jetzt mit dem Spam? Wird der einfach nur gelöscht?
Ansonsten hab ich noch von meinem alten Exim n Transport in ein Spam-Verzeichnis (auch nur für IMAP sinnvoll).

MfG
Keep
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Fri Aug 18, 2006 1:44 pm    Post subject: Reply with quote

samsonus wrote:
mal eine kleine frage, muss der courier und exim mit dem selben user laufen?

hab ich mich nie drum gekümmert, sieht aber so aus als würden sie das eh schon tun...

samsonus wrote:
in der mysql db werden uid und gid ja eingetragen, muss ich ggf beide dienste mit demselben user laufen lassen. bei mir laufen die dienste im mom unter verschiedenen usern.


wie lauten die user?

das uid/gid feld in der DB beinhaltet die UID für mail und die GID für mail. darunter rennt der courier und der exim unter gentoo. das ist schon sinnig dass das so ist, sonst kann die mail nicht ausgeliefert werden.

samsonus wrote:
und das login am server schlägt fehl, aber weiss nicht, ob es daran liegt.


nein, das sollte damit nix zu tun haben. authentifizierung ist erstmal unabhängig vom ausliefern der post. was sagen die logfiles?
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
rogge
Tux's lil' helper
Tux's lil' helper


Joined: 13 Oct 2006
Posts: 78
Location: Erfurt

PostPosted: Fri Nov 24, 2006 10:50 am    Post subject: Reply with quote

Hallo,

wie oder wo bekomme ich die Zertifikate für TLS her? Ich kann mich
erinnern unter Debian gabs ein script namens »gencert«.

MfG rogge
Back to top
View user's profile Send private message
toskala
Advocate
Advocate


Joined: 14 Dec 2002
Posts: 2080
Location: hamburg, germany

PostPosted: Fri Nov 24, 2006 11:01 am    Post subject: Reply with quote

du kannst dieses howto hier verfolgen, der prozess zum zertifikate erzeugen ist der selbe. alternativ wenn du ein ssl cert willst, dass nicht self-signed ist musst du das kaufen, gibts bei vielen hostern aber für wenig geld.

http://www.gentoo.org/doc/en/virt-mail-howto.xml#doc_chap5
_________________
adopt an unanswered post
erst denken, dann posten
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum