PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Header Rewriting in Sendmail



dereulenspiegel
28.12.07, 18:18
Hallo,

ich habe vor einigen Tagen einen Server mit Scalix aufgesetzt. Das empfangen der Mails klappt auch wunderbar. Auch das Senden von Mails innerhalb des Systems. Aber sobald ich eine Mail nach außen senden will erhalte ich immer diese Meldung

Nachricht konnte dem folgenden Empfänger nicht zugestellt werden:

ext-user@ext-domain.com

Ursache: Empfängername am Zielort nicht gefunden.


Zusatzinformation:


553 5.1.8 <ext-user@ext-domain.com>... Domain of sender address Scalix-user@eulenspiegel.lan does not exist

Ich habe hier und auch in Google schon viel zu dem Thema gefunden und ich weiß, dass ich eine Smarthost und Header Rewriting brauche. Beides habe ich auch in die Config von Sendmail eingepflegt (zumindest denke ich das).
Anbei poste ich mal meine sendmail.mc

divert(-1)dnl
#-----------------------------------------------------------------------------
# $Sendmail: debproto.mc,v 8.13.8 2006-12-08 20:21:10 cowboy Exp $
#
# Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved.
#
# cf/debian/sendmail.mc. Generated from sendmail.mc.in by configure.
#
# sendmail.mc prototype config file for building Sendmail 8.13.8
#
# Note: the .in file supports 8.7.6 - 9.0.0, but the generated
# file is customized to the version noted above.
#
# This file is used to configure Sendmail for use with Debian systems.
#
# If you modify this file, you will have to regenerate /etc/mail/sendmail.cf
# by running this file through the m4 preprocessor via one of the following:
# * `sendmailconfig`
# * `make`
# * `m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf`
# The first two options are preferred as they will also update other files
# that depend upon the contents of this file.
#
# The best documentation for this .mc file is:
# /usr/share/doc/sendmail-doc/cf.README.gz
#
#-----------------------------------------------------------------------------
divert(0)dnl
#
# Copyright (c) 1998-2005 Richard Nelson. All Rights Reserved.
#
# This file is used to configure Sendmail for use with Debian systems.
#
define(`_USE_ETC_MAIL_')dnl
include(`/usr/share/sendmail/cf/m4/cf.m4')dnl
VERSIONID(`$Id: sendmail.mc, v 8.13.8-3 2006-12-08 20:21:10 cowboy Exp $')
OSTYPE(`debian')dnl
DOMAIN(`debian-mta')dnl
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
undefine(`confHOST_STATUS_DIRECTORY')dnl #DAEMON_HOSTSTATS=
dnl # Items controlled by /etc/mail/sendmail.conf - DO NOT TOUCH HERE
dnl #
dnl # General defines
dnl #
dnl # SAFE_FILE_ENV: [undefined] If set, sendmail will do a chroot()
dnl # into this directory before writing files.
dnl # If *all* your user accounts are under /home then use that
dnl # instead - it will prevent any writes outside of /home !
dnl # define(`confSAFE_FILE_ENV', `')dnl
dnl #
dnl # Daemon options - restrict to servicing LOCALHOST ONLY !!!
dnl # Remove `, Addr=' clauses to receive from any interface
dnl # If you want to support IPv6, switch the commented/uncommentd lines
FEATURE(`no_default_msa')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MTA-v6, Port=smtp, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
dnl DAEMON_OPTIONS(`Family=inet6, Name=MSP-v6, Port=submission, Addr=::1')dnl
DAEMON_OPTIONS(`Family=inet, Name=MSP-v4, Port=submission, Addr=127.0.0.1')dnl
dnl #
dnl # Be somewhat anal in what we allow
define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqr un,restrictexpand,nobodyreturn,authwarnings')dnl
dnl #
dnl # Define connection throttling and window length
define(`confCONNECTION_RATE_THROTTLE', `15')dnl
define(`confCONNECTION_RATE_WINDOW_SIZE',`10m')dnl
dnl #
dnl # Features
dnl #
dnl # The access db is the basis for most of sendmail's checking
FEATURE(`access_db', , `skip')dnl
dnl #
dnl # The greet_pause feature stops some automail bots - but check the
dnl # provided access db for details on excluding localhosts...
FEATURE(`greet_pause', `1000')dnl 1 seconds
dnl #
dnl # Delay_checks allows sender<->recipient checking
FEATURE(`delay_checks', `friend', `n')dnl
dnl #
dnl # If we get too many bad recipients, slow things down...
define(`confBAD_RCPT_THROTTLE',`3')dnl
dnl #
dnl # Stop connections that overflow our concurrent and time connection rates
FEATURE(`conncontrol', `nodelay', `terminate')dnl
FEATURE(`ratecontrol', `nodelay', `terminate')dnl
dnl #
dnl # If you're on a dialup link, you should enable this - so sendmail
dnl # will not bring up the link (it will queue mail for later)
dnl define(`confCON_EXPENSIVE',`True')dnl
dnl #
dnl # Dialup/LAN connection overrides
dnl #
include(`/etc/mail/m4/dialup.m4')dnl
include(`/etc/mail/m4/provider.m4')dnl
dnl #
define(`SMART_HOST', unimail.uni-dortmund.de)dnl
define(`confAUTH_MECHANISM', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash /etc/mail/auth/client-info')dnl
FEATURE(`always_add_domain')dnl
dnl #
dnl # Masquerading options
MASQUERADE_AS(`udo.edu')dnl
MASQUERADE_DOMAIN(`eulenspiegel.lan,illusion.eulen spiegel.lan')dnl
#FEATURE(`allmasquerade')dnl
FEATURE(`masquerade_envelope')dnl
#FEATURE(`genericstable', `hash -o /etc/mail/genericstable')dnl
#GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')dnl
dnl #
dnl # Default Mailer Setup
MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl
MAILER(scalix)dnl

Soweit ich das sehe ist Header Rewriting und der Smarthost aktiviert. Aber trotzdem kommt die obere Meldung. Ich habe fast das Gefühl, dass man auch bei Scalix und nicht nur bei Sendmail noch was ändern muss. Aber ich habe bisher weder beim Hersteller (Forum und Wiki) noch sonstwo im Netz eine Lösung gefunden die funktioniert.
Ich hoffe mir kann hier jemand helfen. Danke im Voraus!

Flex6
29.12.07, 20:41
typisch debian

include /
include /
include/
include /

so ein Müll zu machen..., das include muß schon ins Hirn eingebrannt sein

ich seh jedenfalls kein smarthost...wenn kein smarthost eingetragen ist wird die mail abgelehnt weil der Host unbekannt ist oder auf der schwarzen Liste steht.

sorry

schau mal in die provider.m4

stimmt den deine hostname/domain von rechner mit der von sendmail

Blade
30.12.07, 14:33
Stimmt nicht ganz, da steht doch der SmartHost-Eintrag.

define(`SMART_HOST', unimail.uni-dortmund.de)dnl
define(`confAUTH_MECHANISM', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo', `hash /etc/mail/auth/client-info')dnl
FEATURE(`always_add_domain')dnl

Poste mal den ersten Teil der fertigen sendmail.cf, da sollte der SmartHost-Eintrag dann drin zu lesen sein.

Flex6
30.12.07, 15:00
ich hab ihn auch gefunden...ist verkehrt angegeben

von:
define(`SMART_HOST', unimail.uni-dortmund.de)dnl

zu:
define(`SMART_HOST', smtp:unimail.uni-dortmund.de)dnl

das smtp kann man auch durch uucp etc erstzen..je nachdem was der Empfängerserver unterstützt

dereulenspiegel
30.12.07, 22:59
Danke erstmal für die Antworten. Das mit dem Smarthost dürfte nun klappen. Aber wie kann ich die Absender und Reply-to-Adressen im header umschreiben? Meine Mails gehen immer noch mit user@eulenspiegel.lan raus und landen vermutlich im Spamfilter. Am liebsten würde ich die Adresse für jeden Nutzer mit der genericstabel umschreiben lassen, wenn ich aber die entsprechenden Stellen auskommentiere bringt das nichts.

Flex6
31.12.07, 10:25
ändere das:
MASQUERADE_DOMAIN(`eulenspiegel.lan,illusion.eulen spiegel.lan')dnl

zu:
MASQUERADE_DOMAIN(`eulenspiegel.lan')dnl
MASQUERADE_DOMAIN(`illusion.eulenspiegel.lan')dnl

und das ist die Hostdomain der email oder:
MASQUERADE_AS(`udo.edu')dnl

userXY(@)udo.edu soll das dann heisen.

dereulenspiegel
31.12.07, 13:28
Vielen Dank, jetzt scheinnt sogar das Masquerading mit der Genericstable zu klappen. Genial, danke nochmals.