# [solved] Postfix / Dovecot

## forrestfunk81

Hi,

ich versuch auf meinem VServer nach der Anleitung aus dem Gentoo-Wiki einen Mailserver mit Postfix und Dovecot zum Laufen zu bekommen. Ich kann mich mit Clients per smpt einloggen und Mails versenden, ich kann mich per imap einloggen ohne Fehlermeldung. Der Mailserver kann auch Mails empfangen. Leider gehen eingehende Mails irgendwo beim Ablegen ins Maildir verloren.

Wenn ich von z.B. Gmail aus Mails an meinen Mail Server sende, bekomme ich folgende Meldungen in /var/log/maillog (mydomain.tld geändert, dort steht schon mein richtige domain):

```
2012-02-13T23:02:58+01:00 noctrl postfix/smtpd[27711]: connect from mail-lpp01m020-f170.google.com[209.85.217.170]

2012-02-13T23:02:59+01:00 noctrl postfix/trivial-rewrite[27714]: warning: do not list domain mydomain.tld in BOTH mydestination and virtual_mailbox_domains

2012-02-13T23:02:59+01:00 noctrl postfix/smtpd[27711]: 15B59D29F4: client=mail-lpp01m020-f170.google.com[209.85.217.170]

2012-02-13T23:02:59+01:00 noctrl postfix/cleanup[27718]: 15B59D29F4: message-id=<CAKvOFJ2Wz9cOBTtpf3LrPM4EDM-pugTFgA+Lbhbtc_gbVgVQgw@mail.gmail.com>

2012-02-13T23:02:59+01:00 noctrl postfix/qmgr[27667]: 15B59D29F4: from=<mygmailaccount@googlemail.com>, size=1604, nrcpt=1 (queue active)

2012-02-13T23:02:59+01:00 noctrl postfix/trivial-rewrite[27714]: warning: do not list domain mydomain.tld in BOTH mydestination and virtual_mailbox_domains

2012-02-13T23:02:59+01:00 noctrl postfix/trivial-rewrite[27714]: warning: do not list domain mydomain.tld in BOTH mydestination and virtual_mailbox_domains

2012-02-13T23:02:59+01:00 noctrl postfix/local[27720]: 15B59D29F4: to=<root@mydomain.tld>, relay=local, delay=0.15, delays=0.14/0.01/0/0, dsn=2.0.0, status=sent (delivered to mailbox)

2012-02-13T23:02:59+01:00 noctrl postfix/qmgr[27667]: 15B59D29F4: removed

```

/etc/postfix/main.cf (Kommentare entfernt):

```
queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/lib64/postfix

data_directory = /var/lib/postfix

mail_owner = postfix

inet_interfaces = all

unknown_local_recipient_reject_code = 550

debug_peer_level = 2

debugger_command =

         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail

newaliases_path = /usr/bin/newaliases

mailq_path = /usr/bin/mailq

setgid_group = postdrop

html_directory = /usr/share/doc/postfix-2.8.7/html

manpage_directory = /usr/share/man

sample_directory = /etc/postfix

# Meine Änderungen:

dovecot_destination_recipient_limit = 1

virtual_transport = dovecot

smtpd_sasl_auth_enable = yes

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

virtual_alias_maps = mysql:/etc/postfix/sql_virtual_alias_maps.cf

virtual_mailbox_domains = mysql:/etc/postfix/sql_virtual_domain_maps.cf

virtual_mailbox_maps = mysql:/etc/postfix/sql_virtual_mailbox_maps.cf

smtpd_sender_restrictions=

 reject_non_fqdn_sender

smtpd_reject_unlisted_sender = yes

smtpd_recipient_restrictions=

 permit_mynetworks,

 reject_non_fqdn_recipient,

 permit_sasl_authenticated,

 reject_unauth_destination

```

/etc/postfix/sql_virtual_alias_maps.cf

```
user = XXX

password = XXX

hosts = localhost

dbname = postfixadmin

query = SELECT goto FROM alias WHERE address='%s' AND active = true

```

/etc/postfix/sql_virtual_domain_maps.cf 

```
user = XXX

password = XXX

hosts = localhost

dbname = postfixadmin

query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = 'false' AND active = true

```

/etc/postfix/sql_virtual_mailbox_maps.cf 

```
user = XXX

password = XXX

hosts = localhost

dbname = postfixadmin

query = SELECT CONCAT(maildir, 'Maildir/') AS maildir FROM mailbox WHERE username='%s' AND active = true

```

Die SQL Abfragen geben bei manueller Abfrage auch scheinbar vernünftige Werte zurück.

Am Ende von /etc/postfix/master.cf:

```
dovecot   unix  -       n       n       -       -       pipe

  flags=DRhu user=mail:mail argv=/usr/libexec/dovecot/deliver   

  -f ${sender} -d ${recipient}

```

Ich hab so das Gefühl, dass /usr/libexec/dovecot/deliver nicht ausgeführt wird.

Wenn ich in /etc/postfix/main.cf "home_mailbox = .maildir/" einfüge, landen die Mails auch im ~/.maildir der entsprechenden User. Ich möchte das aber gern über diese virtuellen Aliases laufen lassen.

Hat jemand eine Idee, was ich falsch mache? Oder wo ich seh, ob und was der Dovecot LDA macht?

Grüße

----------

## misterjack

 *forrestfunk81 wrote:*   

> 
> 
> ```
> 
> 2012-02-13T23:02:59+01:00 noctrl postfix/trivial-rewrite[27714]: warning: do not list domain mydomain.tld in BOTH mydestination and virtual_mailbox_domains
> ...

 

Das warning ist dein Problem. Beim letzteren muss dann nämlich stehen: delivered to dovecot.

Btw, kannst du in den sql-config-dateien auch folgende Syntax anstatt des querys verwenden:

```

table           = domain

select_field    = domain

where_field     = domain

additional_conditions = and backupmx = 'false' and active = true

```

Den Fehler musst du jedenfalls in den sql-Dateien + sql-DB suchen. Du kannst ja testweise die sql-anfragen direkt abfeuern, ob du dann das gewünschte Ergebnis bekommst. Alternativ beim mysql das Logging hochdrehen und dann dort schauen, ob postfix Probleme hat.

Wenn du deine Probleme beseitigt hast, willst du dann natürlich noch SSL/TSL-Support und besseren Spam-Schutz  :Smile: 

----------

## forrestfunk81

Super  :Very Happy: 

Ich hatte mydestination gar nicht in der /etc/postfix/main.cf. Offensichtlich wird hostname als default gezogen. Jetzt hab ich da die interne Server Adresse eingetragen und die gewünschten Domain Namen werden aus der DB gezogen.

Vielen Dank misterjack

----------

