ubuntuusers.de

Postfix - Mail gehen nicht rein

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

bleibein

Anmeldungsdatum:
19. Mai 2015

Beiträge: 18

Hallo liebe Community,

ich habe folgendes Problem beim aufsetzen meines mail servers:

Ich kann mails über die shell senden, allerdings keine empfangen.

Login via Thunderbird nicht möglich.

Login via roundcube nicht möglich.

Die DB (MySQL) ist korrekt konfiguriert, auch postfixadmin meldet mir das.

In Postfixadmin kann ich domains und Mailboxes anlegen, laut phpmyadmin passiert das auch.

Wenn ich via gmail eine mail schicke, erhalte ich dann folgende Meldung emines mailservers:

"User unknown in virtual mailbox table (in reply to RCPT TO command)"

Wenn ich irgendeine Log Datei braucht bitte nur kurz schreiben welche - bin für jede Hilfe sehr sehr dankbar!

hoerianer

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

Na dann ist der User dem Mailserver unbekannt. Steht der User in der virtual table und wurde diese auch über setzt?

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

bleibein schrieb:

"User unknown in virtual mailbox table (in reply to RCPT TO command)"

Beim Zustellungsversuch wird der User nicht gefunden. Um den Fehler zu finden, wirst du dir die Einstellungen zum virtual-transport und inbesondere die virtual_transport_map ansehen muessen. Gegebenenfalls kannst du mit postmap die Queries testen und vom Datenbankserver die Queries loggen lassen.

bleibein

(Themenstarter)

Anmeldungsdatum:
19. Mai 2015

Beiträge: 18

hallo, danke für die schnellen antworten.

hoerianer:

könntest du etwas genauer ausführen was du mit "virtual table" konkret meinst?

selbiges gilt auch für "wurde diese auch übersetzt?"

sebix:

zu virtual transport hab ich in der main.cf etwas gefunden: virtual_transport = lmtp:unix:private/dovecot-lmtp

hier die gesamte main.cf:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mydestination =
mailbox_size_limit = 51200000
message_size_limit = 51200000
recipient_delimiter =
inet_interfaces = all
myorigin = eiweissbrot.at
inet_protocols = all
##### TLS parameters ######
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
###### SASL Auth ######
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
###### Use Dovecot LMTP Service to deliver Mails to Dovecot ######
virtual_transport = lmtp:unix:private/dovecot-lmtp
##### Only allow mail transport if client is authenticated or in own network (PHP Scripts, ...) ######
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
###### MySQL Connection ######
virtual_alias_maps = mysql:/etc/postfix/virtual/mysql-aliases.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual/mysql-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/virtual/mysql-domains.cf
local_recipient_maps = $virtual_mailbox_maps

Nochmal vielen Dank für Eure Hilfe!!

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Bitte benutze die Foren-Syntax, damit der Code auch lesbar ist.

virtual_mailbox_maps = mysql:/etc/postfix/virtual/mysql-maps.cf

Hier steht die Query fuer die DB drinnen. Fuer den entsprechenden User mit dem es Probleme gibt, kannst mal haendisch probieren welches Ergebnis du von der DB bekommst.

bleibein

(Themenstarter)

Anmeldungsdatum:
19. Mai 2015

Beiträge: 18

Bzgl. der Syntax: hab ich sofort korrigiert.

Kkönntest du mir erklären wie du das genau meinst bzw. wie das händisch funktioniert?

In der mysql-maps.cf steht folgendes:

1
2
3
4
5
user = dbusername
password = dbuserpw
hosts = 127.0.0.1
dbname = vmail
query = SELECT * FROM users WHERE username='%u' AND domain='%d'

dbusername und dbuserpw sind platzhalter für den korrekten und funktionierenden mysql user.

Danke nochmal das ich so rasch Antworten bekomme!

hoerianer

Anmeldungsdatum:
14. August 2012

Beiträge: 3156

Ich würde das erstmal ohne DB machen, allein um ein Verständniss der Funktionen zu erhalten. So wird der Lerneffekt gering bleiben.

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

Du kannst mit postmap die queries manuell ausfuehren:

postmap -q "string" mysql:/etc/postfix/filename

Siehe manpage von postmap. Vorher noch nachsehem, ob die Domain ueberhaupt in virtual_mailbox_domains ist. Um alle Eintraege zu sehen, kannst du ja phpmyadmin oder aehnliches verwenden.

bleibein

(Themenstarter)

Anmeldungsdatum:
19. Mai 2015

Beiträge: 18

ich werde die referenzierte mysql-maps.cf bearbeiten und probier es mal mit diesem schema:

http://www.berkes.ca/guides/postfix_virtual.html

also

example.com		this-text-is-ignored
postmaster@example.com	postmaster
address1@example.com	destuser1
address2@example.com	destuser2 
@example.com		destuser1

Mit phpmyadmin bin ich nicht schlüssig fündig geworden, siehe bild:

Bilder

bleibein

(Themenstarter)

Anmeldungsdatum:
19. Mai 2015

Beiträge: 18

Danke euch Allen, bin fündig geworden.

Tatsächlich war die Spalte Users leer da ich beim adden via shell - wie immer wiedermal

ein `mit einem ' 

verwechselt habe bzw. es mir der fuckin texteditor meines mac book pros einfach umgestellt hat, wtf biatch.

jedenfalls funktioniert es nun.

Eine Frage habe ich noch: Gmail klassifiziert meine Mail sogleich mal als Spam - liegt das am eigenbau zertifikat?

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

bleibein schrieb:

Eine Frage habe ich noch: Gmail klassifiziert meine Mail sogleich mal als Spam - liegt das am eigenbau zertifikat?

Kann auch an einer fehlenden Reverse-DNS-Auflösung liegen. Du kannst auch nachschauen, ob deine Domain/IP auf einer Blacklist steht. Außerdem helfen Technologien, wie DKIM, SPF und DAMRC. Wenn dein Mailserver auch Relay spielt, könnte auch SRS interessant sein.

Antworten |