# Postfix / Maildrop: mail() landet nur in Queue



## Demidrin (2. Aug. 2011)

*[SOLVED]Postfix / Maildrop / mail(): Emails an eigene Domain auch nach außen leiten*

Hallo Allerseits,

nach tagelangem Suchen habe ich leider keine Lösung für das Problem gefunden. Ich hoffe doch, ihr könnt mir da weiterhelfen:

Ich benutze:
ISPConfig 3 (aktuell)
+ Postfix
+ Maildrop
+ Courier

Mein Ziel ist es:
Vorerst die mail()-Funktion vom Webserver zum Laufen zu bekommen.
Für den weiteren Mail-Verkehr habe ich noch einen externen Mailserver.

Ausschnitt mail.log:

```
Aug 2 19:45:03 XXXX postfix/smtpd[19763]: connect from localhost.localdomain[127.0.0.1]
Aug 2 19:45:03 XXXX postfix/smtpd[19763]: lost connection after CONNECT from localhost.localdomain[127.0.0.1]
Aug 2 19:45:03 XXXX postfix/smtpd[19763]: disconnect from localhost.localdomain[127.0.0.1]
Aug 2 19:50:02 XXXX pop3d: Connection, ip=[::ffff:127.0.0.1]
Aug 2 19:50:02 XXXX pop3d: Disconnected, ip=[::ffff:127.0.0.1]
Aug 2 19:50:02 XXXX imapd: Connection, ip=[::ffff:127.0.0.1]
Aug 2 19:50:02 XXXX imapd: Disconnected, ip=[::ffff:127.0.0.1], time=0
Aug 2 19:50:02 XXXX postfix/smtpd[20044]: connect from localhost.localdomain[127.0.0.1]
Aug 2 19:50:02 XXXX postfix/smtpd[20044]: lost connection after CONNECT from localhost.localdomain[127.0.0.1]
Aug 2 19:50:02 XXXX postfix/smtpd[20044]: disconnect from localhost.localdomain[127.0.0.1]
```
main.cf:

```
# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = /usr/share/doc/postfix

# TLS parameters
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = XXXX.YYYYYY.ZZ
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = XXXX.YYYYYY.ZZ, localhost, localhost.localdomain
relayhost = 
mynetworks = 127.0.0.0/8 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
virtual_alias_domains = 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
virtual_mailbox_base = /var/vmail
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination
smtpd_tls_security_level = may
transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
relay_domains = mysql:/etc/postfix/mysql-virtual_relaydomains.cf
relay_recipient_maps = mysql:/etc/postfix/mysql-virtual_relayrecipientmaps.cf
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
smtpd_client_restrictions = check_client_access mysql:/etc/postfix/mysql-virtual_client.cf
maildrop_destination_concurrency_limit = 1
maildrop_destination_recipient_limit = 1
virtual_transport = maildrop
header_checks = regexp:/etc/postfix/header_checks
mime_header_checks = regexp:/etc/postfix/mime_header_checks
nested_header_checks = regexp:/etc/postfix/nested_header_checks
body_checks = regexp:/etc/postfix/body_checks
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings
message_size_limit = 0
```
master.cf:

```
smtp      inet  n       -       -       -       -       smtpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
    -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache

maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d vmail ${extension} ${recipient} ${user} ${nexthop} ${sender}

uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)

ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix    -    n    n    -    2    pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}


amavis unix - - - - 2 smtp
        -o smtp_data_done_timeout=1200
        -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -o smtpd_bind_address=127.0.0.1
```
Mein Problem ist nun, dass alle vom Webserver versendeten Mails in der Queue landen:
/var/vmail/YYYYYY.ZZ/webmaster/new/*

Kann mir wer da weiterhelfen?

LG,
Demidrin


----------



## Demidrin (2. Aug. 2011)

Ach ja, da es von der Länge her nicht mehr passt:

mail.log bei eintreffender Mail:

```
Aug  2 18:42:08 XXXX postfix/smtpd[7950]: connect from localhost.localdomain[127.0.0.1]
Aug  2 18:42:08 XXXX postfix/smtpd[7950]: 7FDA22CC8597: client=localhost.localdomain[127.0.0.1]
Aug  2 18:42:08 XXXX postfix/cleanup[7810]: 7FDA22CC8597: message-id=<20110802164204.43C202CC8599@XXXX.YYYYYY.ZZ>
Aug  2 18:42:08 XXXX postfix/qmgr[32452]: 7FDA22CC8597: from=<web1@XXXX.YYYYYY.ZZ>, size=1400, nrcpt=1 (queue active)
Aug  2 18:42:08 XXXX postfix/smtpd[7950]: disconnect from localhost.localdomain[127.0.0.1]
Aug  2 18:42:08 XXXX amavis[13863]: (13863-02) Passed CLEAN, <web1@XXXX.YYYYYY.ZZ> -> <webmaster@YYYYYY.ZZ>, Message-ID: <20110802164204.43C202CC8599@XXXX.YYYYYY.ZZ>, mail_id: apkYRpqSbWs8, Hits: -0.001, size: 908, queued_as: 7FDA22CC8597, 4234 ms
Aug  2 18:42:08 XXXX postfix/smtp[7815]: 43C202CC8599: to=<webmaster@YYYYYY.ZZ>, relay=127.0.0.1[127.0.0.1]:10024, ZZlay=4.3, ZZlays=0.03/0.01/0/4.2, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=13863-02, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 7FDA22CC8597)
Aug  2 18:42:08 XXXX postfix/qmgr[32452]: 43C202CC8599: removed
Aug  2 18:42:08 XXXX postfix/pipe[7951]: 7FDA22CC8597: to=<webmaster@YYYYYY.ZZ>, relay=maildrop, ZZlay=0.03, ZZlays=0.01/0.01/0/0.02, dsn=2.0.0, status=sent (ZZlivered via maildrop service)
Aug  2 18:42:08 XXXX postfix/qmgr[32452]: 7FDA22CC8597: removed
```


----------



## Till (3. Aug. 2011)

Laut log wurde die Email korrekt in das lokale Postfach webmaster@YYYYYY.ZZ ausgeliefert. D.h. die Email von der diese Einträge stammen kann nicht mehr in der mailqueue sein.

Ich vermute daher mal, dass Du probleme mit dem Versand an andere exteren Domains hast, sende also bitte mal eine Email mit der php mail() Funktion an eine externe Emailadresse und poste die Zeilen, die dafür im mail.log dazu kommen.


----------



## Demidrin (3. Aug. 2011)

Oh, das war natürlich selten dämlich von mir:

An externe Emailadressen funktioniert das Senden.

Das Problem ist also, dass ich vermutlich die DNS Einstellungen so ändern muss, dass er die Emails von der eigenen Domain auch erst mal raus schickt.

Wo muss ich denn da überall was umstellen, dass er erst mal keine Emails annimmt sondern alles raus schickt?

Hier nochmal die Log:

```
Aug 3 10:31:56 XXXX postfix/pickup[23556]: D1DFF2CC85DB: uid=5004 from=
Aug 3 10:31:56 XXXX postfix/cleanup[13686]: D1DFF2CC85DB: message-id=<20110803083156.D1DFF2CC85DB@XXXX.YYYYYY.ZZ>
Aug 3 10:31:56 XXXX postfix/qmgr[27807]: D1DFF2CC85DB: from=, size=909, nrcpt=1 (queue active)
Aug 3 10:31:58 XXXX postfix/smtpd[13733]: connect from localhost.localdomain[127.0.0.1]
Aug 3 10:31:58 XXXX postfix/smtpd[13733]: 0BA692CC85DA: client=localhost.localdomain[127.0.0.1]
Aug 3 10:31:58 XXXX postfix/cleanup[13686]: 0BA692CC85DA: message-id=<20110803083156.D1DFF2CC85DB@XXXX.YYYYYY.ZZ>
Aug 3 10:31:58 XXXX postfix/qmgr[27807]: 0BA692CC85DA: from=, size=1403, nrcpt=1 (queue active)
Aug 3 10:31:58 XXXX amavis[24363]: (24363-01) Passed CLEAN, -> , Message-ID: <20110803083156.D1DFF2CC85DB@XXXX.YYYYYY.ZZ>, mail_id: 7MzSE-KfzvOo, Hits: -0.001, size: 909, queued_as: 0BA692CC85DA, 1183 ms
Aug 3 10:31:58 XXXX postfix/smtp[13691]: D1DFF2CC85DB: to=, relay=127.0.0.1[127.0.0.1]:10024, delay=1.2, delays=0.04/0.01/0.01/1.2, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=24363-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 0BA692CC85DA)
Aug 3 10:31:58 XXXX postfix/qmgr[27807]: D1DFF2CC85DB: removed
Aug 3 10:31:58 XXXX postfix/smtp[13737]: 0BA692CC85DA: to=, relay=ein.externer.prov[111.111.11.111]:25, delay=0.46, delays=0.03/0.01/0.04/0.38, dsn=2.6.0, status=sent (250 2.6.0 Message accepted {mx113})
Aug 3 10:31:58 XXXX postfix/qmgr[27807]: 0BA692CC85DA: removed
```
LG,
Demidrin


----------



## Till (3. Aug. 2011)

Der Hostname und mailname Deines Servers sollte nicht mit einer Emaildomain übereinstimmen. Schau also bitte mal in die Dateien /etc/hostname, /etc/mailname und /etc/postfix/main.cf und ändere dort alle vorkommen Deiner domain (z.b. deinedomain.tld) in eine subdomain wie server1.deinedomain.tld oder webserver.deinedomain.tld. Danach muss Postfix neu gestartet werden.

Des weiteren solltest Du in ispconfig 3 nachsehen, dass Du deinedomain.tld nicht als emaildomain angelegt hast.


----------



## Demidrin (3. Aug. 2011)

Hatte noch eine Emaildomain in ISPConfig drin, da ich auf Grund der Fehlersuche etwas rum getestet hatte.

Jetzt passt es. 
Ich frag mich nur, worum es vorher ohne den Eintrag schon nicht ging (wahrscheinlich wieder irgendein flüchtiger Fehler). Wenn alles richtig ist, kann man lange suchen. 


Aller herzlichsten Dank! 
Damit bin ich hier fertig.


----------

