PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : unbekannter user: Fedora Core4 / Sendmail / Fetchmail / procmail / spamassassin



jochenthomas
05.05.06, 10:39
Hallo,
hoffe ich bin hier richtig zum o.g. Thema.
Ich hatte Sendmail in FC4 eingerichtet und Fetchmail für das Abholen von pop3 genutzt. Alles funktioniert gut.

Dann habe ich Spamassassin installiert - und ich glaube hier fing mein Problem an:
Eingehende e-mails werden zwar angenommen aber auf root weitergeleitet, weil der user nicht bekannt ist.
Das verstehe ich nicht, da es ja vorher funktionierte...
Wenn ich (über webmin) via sendmail eine e-mail vom Account user1 an user1@domain.de sende erhalte ich folgende Fehlermeldung:


----- The following addresses had permanent fatal errors -----
user1@domainname.de
(reason: 550 5.1.1 <user1@domainname.de>... User unknown)
(expanded from: user1@domainname.de)

----- Transcript of session follows -----
... while talking to [127.0.0.1]:
>>> DATA
<<< 550 5.1.1 <user1@domainname.de>... User unknown
550 5.1.1 user1@domainname.de... User unknown
<<< 503 5.0.0 Need RCPT (recipient)

Failed delivery status
Final recipient user1@domainname.de
Reason for failure 550 5.1.1 <user1@domainname.de>... User unknown
Remote mail server [127.0.0.1]
Reporting mail server domainname.de

Ich habe mich auch schon Eintrag 47743 (http://www.linuxforen.de/forums/showthread.php?t=47743) gelesen.


ich kann Mails via sendmail und smarthost senden (alles funktioniert)
ich kann via fetchmail vom pop3 abholen
meine Versuche auf user@localhost, user@127.0.0.1, user@domainname.de weiterzuleiten schlugen mit der o.g. Message fehl


hier die sendmail.cfg


divert(-1)dnl
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for Red Hat Linux')dnl
OSTYPE(`linux')dnl
define(`SMART_HOST',`mailserv.meinsmarthost.com')
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/client-auth/client-info')dnl
define(`confDEF_USER_ID',``8:12'')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST',true)dnl
define(`confDONT_PROBE_INTERFACES',true)dnl
define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
FEATURE(`no_default_msa',`dnl')dnl
FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl


hier die access


localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY


virtuser

leer

domaintable

leer

local-host-names


localhost
localhost.localdomain
domainname.de
anderedomain.com
weiteredomain.eu


Komischerweise sind alle db-Files (also z.B. auch access.db) leer.
Liegt hier evtl. schon der Fehler.
Aber dann dürfte ja auch nicht gesendet werden, denn die von mir erstellte client-info hat auch nur eine leere client-info als Gegenstück...

Wie sollte ich vorgehen, damit ich wieder Mails empfangen kann?
Der Weg wäre:
- pop3 -> fetchmail -> sendmail ?oder procmail? -> procmail/spamassasin -> sendmail

Wie sollte ich vorgehen?
Welche Protokolle sollte ich ggfls. posten?

Danke für jeden Hinweis

RichieX
05.05.06, 10:49
Komischerweise sind alle db-Files (also z.B. auch access.db) leer.
Liegt hier evtl. schon der Fehler.

Denke schon. Normalerweise wird bei FC4 beim Start von Sendmail ein makemap durchgeführt. Sicherheitshalber würde ich das aber 'per Hand' nochmal machen. Dann sollte auch die access.db nicht leer bleiben.

jochenthomas
05.05.06, 13:16
hmmmmm.... ?????
Wenn ich zum Beispiel:

makemap hash -f access.db < access
ausführe, tut sich rein gar nichts:
kein Fehlercode, keine positive Rückmeldung und auch keine Änderung in der Dateigrösse bzw. dem Inhalt.

Ich nutze FC4 und habe yum update ausgeführt, so daß überall der neue Stand sein sollte.

Irgendwelche Ideen?

RichieX
05.05.06, 14:48
Ich kenne es so:


makemap hash /etc/mail/access.db < /etc/mail/access

jochenthomas
05.05.06, 16:01
habe ich natürlich sofort versucht und bekam diese Response:
"You have new mail in /var/spool/mail/root"
Der Inhalt der db-Files exisitiert nun (siehe oben).

Das Problem ist jedoch noch das gleiche:
"550 5.1.1 <user1@domainname.de>... User unknown"

Wie sollte das Zustellen seitens fetchmail erfolgen:


poll mail.providerdomain.com
proto pop3
auth password
user "myuser"
pass "mypassword"
is ????????????????? user1 oder user1.domain.de oder user1@localhost oder user1@127.0.0.1
keep




fetchmail: SMTP> HELO localhost
fetchmail: SMTP< 250 myprovider.de Hello localhost [127.0.0.1], pleased to meet you
fetchmail: SMTP> MAIL FROM:<FETCHMAIL-DAEMON@myprovider.de>
fetchmail: SMTP< 250 2.1.0 <FETCHMAIL-DAEMON@myprovider.de>... Sender ok
fetchmail: SMTP> RCPT TO:<user1@web.de>
fetchmail: SMTP< 250 2.1.5 <user1@web.de>... Recipient ok
fetchmail: SMTP> DATA
fetchmail: SMTP< 354 Enter mail, end with "." on a line by itself
fetchmail: SMTP: (bounce-message body)
fetchmail: SMTP>. (EOM)
fetchmail: SMTP< 250 2.0.0 k45EsKYi022620 Message accepted for delivery
fetchmail: SMTP> QUIT
fetchmail: SMTP< 221 2.0.0 myprovider.de closing connection
fetchmail: SMTP> RCPT TO:<user1@localhost>
fetchmail: SMTP< 550 5.1.1 <user1@localhost>... User unknown
fetchmail: can't even send to user1!

Ich glaube aber es liegt wohl eher an sendmail, siehe vorhergehendes Protokoll.
Welcher Teil von sendmail ist für die Zuordnung von User-Accounts zuständig?
Ich dachte, daß mit dem Anlegen eines Linux-Users auch automatisch ein sendmail-account existiert (home/mail).

Oder hat dies etwas mit spamassassin/procmail zu tun?

Besten Dank für jedwede Hilfe!!

tschloss
05.05.06, 16:19
eigentlich ordnet fetchmail externen Mailboxen interne Mailaccounts zu "is user1 here".
gilt natürlich nicht bei internem mailverkehr
greetz
Thomas

RichieX
05.05.06, 16:57
Wie sieht den das home-Verzeichnis des user1 aus. Gibts dort eine .forward oder eine .procmailrc

Was passiert eigentlich, wenn du eine Mail von root an user1@localhost schickst?
->maillog!

jochenthomas
05.05.06, 18:09
@tschloss
o.k. ich muss also nur "user1" nutzen (nicht user1@domain.de)
Aber fetchmail agiert doch (nach Abholung von extern) nur als interner MTA, oder nicht? Und vorher hatte ich user1@local genutzt...

@RichieX
ich habe noch mal versucht alles wichtige hier zusammenzutragen:
?Da ich smarthost definiert habe, siehe oben cfg, wird wohl nach extern geroutet und kommt wohl als externe mail wieder?


maillog:


maillog:
May 5 18:49:29 domain sendmail[4454]: k45GnTcP004454: from=root@domain.de, size=411, class=0, nrcpts=1, msgid=<1146847769.4446@domain.de>, relay=root@localhost
May 5 18:49:29 domain sendmail[4457]: k45GnTbX004457: <user1@domain.de>... User unknown
May 5 18:49:29 domain sendmail[4454]: k45GnTcP004454: to=user1, ctladdr=root@domain.de (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30411, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
May 5 18:49:29 domain sendmail[4457]: k45GnTbX004457: from=<root@domain.de>, size=411, class=0, nrcpts=0, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
May 5 18:49:29 domain sendmail[4454]: k45GnTcP004454: k45GnTcQ004454: DSN: User unknown
May 5 18:49:29 domain sendmail[4457]: k45GnTbZ004457: from=<>, size=2130, class=0, nrcpts=1, msgid=<200605051649.k45GnTcQ004454@domain.de>, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
May 5 18:49:29 domain sendmail[4454]: k45GnTcQ004454: to=root@domain.de, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31435, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k45GnTbZ004457 Message accepted for delivery)
May 5 18:49:38 domain sendmail[4458]: k45GnTbZ004457: to=<root@domain.de>, delay=00:00:09, xdelay=00:00:09, mailer=local, pri=32299, dsn=2.0.0, stat=Sent
May 5 18:50:07 domain sendmail[4674]: k45Go6b2004674: <user1@domain.de>... User unknown
May 5 18:50:07 domain sendmail[4675]: k45Go7cX004675: from=<FETCHMAIL-DAEMON@domain.de>, size=1662, class=0, nrcpts=1, msgid=<200605051650.k45Go7cX004675@domain.de>, proto=SMTP, daemon=MTA, relay=localhost [127.0.0.1]
May 5 18:50:07 domain sendmail[4674]: k45Go6b2004674: <user1@localhost>... User unknown
May 5 18:50:07 domain sendmail[4674]: k45Go6b2004674: from=<user1@web.de>, size=1317, class=0, nrcpts=0, bodytype=8BITMIME, proto=ESMTP, daemon=MTA, relay=localhost [127.0.0.1]
May 5 18:50:11 domain sendmail[4677]: k45Go7cX004675: to=<user1@web.de>, delay=00:00:04, xdelay=00:00:04, mailer=relay, pri=121662, relay=mail.providerdomain.com. [195.247.131.126], dsn=2.0.0, stat=Sent (ok 1146847810 qp 2204 by mail.providerdomain.com)

May 5 19:10:55 domain sendmail[5404]: k45HAtL1005404: to=user1@localhost, ctladdr=root@domain.de (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30415, relay=[127.0.0.1] [127.0.0.1], dsn=5.1.1, stat=User unknown
May 5 19:10:55 domain sendmail[5404]: k45HAtL1005404: k45HAtL2005404: DSN: User unknown
May 5 19:10:55 domain sendmail[5404]: k45HAtL2005404: to=root@domain.de, delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=31439, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (k45HAttc005407 Message accepted for delivery)
Ergebnis wenn ich von root an user1 oder user1@domain.de sende:


The original message was received at Fri, 5 May 2006 19:10:55 +0200
from root@localhost
----- The following addresses had permanent fatal errors -----
user1@localhost
(reason: 550 5.1.1 <user1@domain.de>... User unknown)
(expanded from: user1@localhost)

----- Transcript of session follows -----
... while talking to [127.0.0.1]:
>>> DATA
<<< 550 5.1.1 <user1@domain.de>... User unknown
550 5.1.1 user1@localhost... User unknown
<<< 503 5.0.0 Need RCPT (recipient)

550 5.1.1 <user1@domain.de>... User unknown
<<< 550 5.1.1 <user1@domain.de>... User unknown 550 5.1.1 user1... User unknown

Inhalt von etc/procmailrc:


DROPPRIVS=yes
:0fw
| /usr/bin/spamassassin
:0
* ^X-Spam-Status: Yes
$HOME/spam
INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc


Wie man auch hier erkennt, ist der fehlende user noch immer das Problem.
Es existiert jedoch ein home-Verzeichnis


home
/
--user1
---.bash_logout
---.bash_profile
---.bash_rc
---.fetchmailrc
---.gtkrc

Welche Dateien sollte ich noch überprüfen?

RichieX
06.05.06, 08:03
Der Smarthost sollte keinen Einfluß haben, wenn du eine Mail an @localhost schickst oder fetchmail an lokale Postfächer verteilt. Deine Maillog sieht etwas gewöhnungsbedürftig aus. Ist die original oder hast da was 'bearbeitet'?

Du authentifizierst über pam?

Zu deinem ersten Post: das ist die sendmail.mc nicht die sendmail.cfg, oder?

Baue bitte die sendmail.cf nochmal neu, mache danach nochmal eine makemap aller db's starte sendmail nochmal neu und teste wieder.

Hast du ein update über yum eingespielt?

Im Moment bin ich etwas ratlos.:confused:

tschloss
06.05.06, 10:19
@tschloss
o.k. ich muss also nur "user1" nutzen (nicht user1@domain.de)
Aber fetchmail agiert doch (nach Abholung von extern) nur als interner MTA, oder nicht? Und vorher hatte ich user1@local genutzt...


AFAIK gibt es verschiedene Möglichkeiten, fetchmail anzubinden. Ich nutze bei mir die Möglichkeit, dass fetchmail die abgeholten per SMTP an einen MTA weitersendet (weitergibt). In meiner fetchmailrc verwende ich für die Adressierung nur "is username1 here". Ich nehme an, dass fetchmail das zu einer vollwertigen Mailadresse aufbohrt (woher der angehängte Domainname kommt, weiss ich auswendig nicht, bekommt man über die fetchmail-dok aber sicher schnell heraus).

Ich habe jetzt den Faden verloren, was eigentlich das (aktuelle) Problem ist.:D

Greetz
Thomas

jochenthomas
16.05.06, 17:50
Sorry for the late response...
Nach einigem Hin und Her habe ich die Lösung dann doch noch gefunden.
Fragt mich nicht genau wie.
Ich nutze "Scalix" als Mailserver oder besser als Frontend und mailstore und Sendmail spielt als MTA eine Rolle.
Alle Messages werden nunmehr mit Spamassasin markiert und weitergeleitet.
Ich habe die Original sendmail.cf genommen und nachbearbeitet (obwohl man dies ja nicht sollte). Im Nachhinein habe ich erfahren das es ein Tool gibt, um auch Scalix cf-conform zu machen...