mailer loop (postfix)

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
perlitz
Posts: 202
Joined: 2003-11-01 12:25

mailer loop (postfix)

Post by perlitz » 2004-01-12 12:54

Hallo,

nach dem "puretec-zwangsumzug" hab ich plötzlich folgende Einträge (massig):

Code: Select all

warning: mailer loop: best MX host for domain.com is local
Hab hier schonmal im Forum gesucht, aber nichts gefunden :cry:

Hat jemand nen Tipp für mich?

Gruß
Andreas

squize
Userprojekt
Userprojekt
Posts: 741
Joined: 2003-05-19 16:46
Location: Karlsruhe

Re: mailer loop (postfix)

Post by squize » 2004-01-12 15:25

Leider etwas wenig Info, aber das hört sich nach folgendem an:

domain.com hat einen MX Eintrag auf deine Kiste, d.h. alle Mails an domain.com werden zu deiner Kiste geleitet. Deine Kiste fühlt sich aber nicht zuständig für die Mails, versucht sie also an den zuständigen Server zuzustellen und die suche führt ihn zu sich selbst => Mailloop.

Du solltest also schauen, dass dein Server sich wieder für domain.com zuständig hällt, dann sollte es funktionieren.

Gruss

Marc

flo
RSAC
Posts: 2297
Joined: 2002-07-28 13:02
Location: Berlin

Re: mailer loop (postfix)

Post by flo » 2004-01-12 15:58

Kann dann auftreten, wenn Dein Server in der Virtual und in den lokalen Hostnamen auftaucht ... schon probiert?

flo.

perlitz
Posts: 202
Joined: 2003-11-01 12:25

Re: mailer loop (postfix)

Post by perlitz » 2004-01-12 16:14

@squize

Irgendwie bezweifel ich schon recht stark, dass die Domain domain.com einen MX eintrag hat, welcher auf meine Kiste zeigt ;)

@flo
sowie ich zu Hause bin, schau ich mal nach... Thanx

nergal
RSAC
Posts: 82
Joined: 2002-05-24 09:32
Location: Mörfelden-Walldorf

Re: mailer loop (postfix)

Post by nergal » 2004-01-12 18:25

Doch zeigt auf Deinen Server... bzw. immer auf localhost ;)

Code: Select all

server2:/# dig domain.com mx

; <<>> DiG 9.2.1 <<>> domain.com mx
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16208
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;domain.com.                    IN      MX

;; ANSWER SECTION:
domain.com.             41      IN      MX      10 mail.domain.com.

;; AUTHORITY SECTION:
domain.com.             172781  IN      NS      dns2.domainbank.com.
domain.com.             172781  IN      NS      dns1.domainbank.com.

;; ADDITIONAL SECTION:
mail.domain.com.        41      IN      A       127.0.0.1

;; Query time: 2 msec
;; SERVER: 62.216.179.225#53(62.216.179.225)
;; WHEN: Mon Jan 12 18:23:07 2004
;; MSG SIZE  rcvd: 114
Wie kommts das Du Mails an domain.com in der Queue hast?

perlitz
Posts: 202
Joined: 2003-11-01 12:25

Re: mailer loop (postfix)

Post by perlitz » 2004-01-12 19:19

@Nergal

Ich hab mit der domain domain.com nichts, aber auch gar nichts am Hut! Auch habe ich nicht eine einzige mail in meiner Queue ;-) Auch zeigt der Eintrag für die Domain nicht mal in die Nähe meiner IP 8)


@flo
nope, nix doppelt :(

Hat jemand noch nen Tipp???

nergal
RSAC
Posts: 82
Joined: 2002-05-24 09:32
Location: Mörfelden-Walldorf

Re: mailer loop (postfix)

Post by nergal » 2004-01-12 19:40

Perlitz, die 127.0.0.1 verweist sehr wohl auf Dich und zwar immer dann, wenn eine Mail an domain.com zugestellt werden soll. Postfix macht ein DNS Lookup und bekommt die 127.0.0.1 zurückgegeben welches natürlich Dein localhost ist.

Nun poste doch mal ein paar Zeilen mehr aus Deinem mail-log VOR und NACH dem genannten Eintrag oben.

perlitz
Posts: 202
Joined: 2003-11-01 12:25

Re: mailer loop (postfix)

Post by perlitz » 2004-01-12 20:50

@Nergal

8O ich glaub ich muss wohl noch einiges lernen... ich hoffe Ihr seid nachsichtig mit mir. Postfix Büchlein ist unterwegs (Amazon). Und ich kann glaub ich bald die FAQ von http://www.postfix.org auswendig... Doch irgendwie will der durchbruch (oder besser die Erleuchtung) in diesem Fall noch nicht so recht kommen.

Tja, vor und danchach is nix im log zu sehen. Einzig vereinzelte Einträge aus dem /var/log/warn

Code: Select all

Jan  8 20:36:44 p12345678 postfix/smtp[23200]: warning: mailer loop: best MX host for domain.com is local
Jan  9 15:16:52 p12345678 postfix/smtp[1467]: warning: mailer loop: best MX host for domain.com is local
Und in der mail queue is nichts (soweit ich das richtig abfrage) Das Verzeichniss für die queue /var/spool/postfix/maildrop ist auch leer.

Code: Select all

p12345678:/ #mailq
Mail queue is empty
Und in der /var/log/mail ist auch nichts ungewöhnliches. Ich bin sozusagen komplett ratlos :roll:

Doch evtl. hab ich aus "versehen" das problem schon gelöst:
    Scheints hatte puretec bei 2 Domains automatisch 2 webmaster mail Accounts mit angelegt. Die hab ich am 9 Januar gelöscht. Seid dem is auch nichts mehr im [i]/var/log/warn[/i]. Ist das möglich? Was macht puretec überhaupt wenn die diese webmaster mail accounts anlegt? Werden die auf nem puretec mailserver angelegt? Und das ist dann evtl. ein loop, weil ggfs. bei mir aufm mailserver die domains auch ein webmaster konto haben?
Was ich dann aber überhaupt nicht verstehe, warum ich überhaupt mails an domain.com in der queue gehabt haben soll? Warum denn nicht mails an meinedomain.de? :roll:

perlitz
Posts: 202
Joined: 2003-11-01 12:25

Re: mailer loop (postfix)

Post by perlitz » 2004-01-21 18:42

Hat keiner eine Idee???

Das mit den Puretec Email Adr. war es nämlich nicht, heute wieder ein Eintrag in warn

Code: Select all

Jan 17 15:55:29 p12345678 postfix/smtp[18643]: warning: mailer loop: best MX host for domain.com is local
Keine Einträge in den Maillogs gefunden :(

Wo kann ich noch suchen???

squize
Userprojekt
Userprojekt
Posts: 741
Joined: 2003-05-19 16:46
Location: Karlsruhe

Re: mailer loop (postfix)

Post by squize » 2004-01-21 20:38

Du solltest am besten mal dein komplettes Setup posten, dann kann man mal schauen, woran es liegen könnte.

Gruss

Marc

perlitz
Posts: 202
Joined: 2003-11-01 12:25

Re: mailer loop (postfix)

Post by perlitz » 2004-01-26 20:13

Wobei es keinerlei Probleme mit email Versand - Empfang gibt. Letzer Eintrag in warn war vom 17 Januar. Sprich Einträge in warn kommen Regelmässig ca. alle 10 Tage :(

Ich versteh das nicht... Hier mal meine Config (hoffe hab nichts vergessen...)

Bin für jeden Tipp dankbar!

Gruß
Andreas


main.cf

Code: Select all

# LOCAL PATHNAME INFORMATION
#
# The queue_directory specifies the location of the Postfix queue.
# This is also the root directory of Postfix daemons that run chrooted.
# See the files in examples/chroot-setup for setting up Postfix chroot
# environments on different UNIX systems.
#
queue_directory = /var/spool/postfix

# The command_directory parameter specifies the location of all
# postXXX commands.  The default value is $program_directory.
#
command_directory = /usr/sbin

# The daemon_directory parameter specifies the location of all Postfix
# daemon programs (i.e. programs listed in the master.cf file). The
# default value is $program_directory. This directory must be owned
# by root.
#
daemon_directory = /usr/lib/postfix

# QUEUE AND PROCESS OWNERSHIP
#
# The mail_owner parameter specifies the owner of the Postfix queue
# and of most Postfix daemon processes.  Specify the name of a user
# account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
# AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
# particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
# USER.
#
mail_owner = postfix

# The default_privs parameter specifies the default rights used by
# the local delivery agent for delivery to external file or command.
# These rights are used in the absence of a recipient user context.
# DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
#
#default_privs = nobody
default_privs = autoresp

# INTERNET HOST AND DOMAIN NAMES
# 
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = p15138430.pureserver.info

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = www.p12345678.pureserver.info

# SENDING MAIL
# 
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
#myorigin = $myhostname
#myorigin = $mydomain

# RECEIVING MAIL

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost

# The mydestination parameter specifies the list of domains that this
# machine considers itself the final destination for. That includes
# Sendmail-style virtual domains hosted on this machine.
#
# Do not include Postfix-style virtual domains - those domains are
# specified elsewhere (see sample-virtual.cf, and sample-transport.cf).
#
# The default is $myhostname + localhost.$mydomain.  On a mail domain
# gateway, you should also include $mydomain. Do not specify the
# names of domains that this machine is backup MX host for. Specify
# those names via the relay_domains or permit_mx_backup settings for
# the SMTP server (see sample-smtpd.cf).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key.  Continue long lines by starting the
# next line with whitespace.
#
#mydestination = $myhostname, localhost.$mydomain
#mydestination = $myhostname, localhost.$mydomain $mydomain
#mydestination = $myhostname, localhost.$mydomain, $mydomain,
#	mail.$mydomain, www.$mydomain, ftp.$mydomain
mydestination = $myhostname, localhost.$mydomain, $mydomain, smtp.$mydomain

# TRUST AND RELAY CONTROL

# The mynetworks parameter specifies the list of "trusted" SMTP
# clients that have more privileges than "strangers".
#
# In particular, "trusted" SMTP clients are allowed to relay mail
# through Postfix.  See the smtpd_recipient_restrictions parameter
# in file sample-smtpd.cf.
#
# You can specify the list of "trusted" network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix "trusts" SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the "ifconfig" command.
# 
# Specify "mynetworks_style = class" when Postfix should "trust" SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don't do this with a dialup site - it would cause Postfix to "trust"
# your entire provider's network.  Instead, specify an explicit
# mynetworks list by hand, as described below.
#  
# Specify "mynetworks_style = host" when Postfix should "trust"
# only the local machine.
# 
#mynetworks_style = class
#mynetworks_style = subnet
mynetworks_style = host




# REJECTING UNKNOWN LOCAL USERS
#
# The local_recipient_maps parameter specifies optional lookup tables
# with all names (not addresses) of users that are local with respect
# to $mydestination and $inet_interfaces.  If this parameter is
# defined, then the SMTP server will reject mail for unknown local
# users.
#
# If you use the default Postfix local delivery agent for local
# delivery, uncomment the definition below.
#
# Beware: if the Postfix SMTP server runs chrooted, you may have to
# copy the passwd (not shadow) database into the jail. This is
# system dependent.
# 
local_recipient_maps = $alias_maps unix:passwd.byname

# INPUT RATE CONTROL
#
# The in_flow_delay configuration parameter implements mail input
# flow control. This feature is turned on by default, although it
# still needs further development (it's disabled on SCO UNIX due
# to an SCO bug).
# 
# A Postfix process will pause for $in_flow_delay seconds before
# accepting a new message, when the message arrival rate exceeds the
# message delivery rate. With the default 50 SMTP server process
# limit, this limits the mail inflow to 50 messages a second more
# than the number of messages delivered per second.
# 
# Specify 0 to disable the feature. Valid delays are 0..10.
# 
#in_flow_delay = 1s
in_flow_delay = 0



# ALIAS DATABASE
#
# The alias_maps parameter specifies the list of alias databases used
# by the local delivery agent. The default list is system dependent.
# On systems with NIS, the default is to search the local alias
# database, then the NIS alias database. See aliases(5) for syntax
# details.
# 
# If you change the alias database, run "postalias /etc/aliases" (or
# wherever your system stores the mail alias file), or simply run
# "newaliases" to build the necessary DBM or DB file.
#
# It will take a minute or so before changes become visible.  Use
# "postfix reload" to eliminate the delay.
#
#alias_maps = dbm:/etc/aliases
#alias_maps = hash:/etc/aliases
#alias_maps = hash:/etc/aliases, nis:mail.aliases
#alias_maps = netinfo:/aliases
alias_maps = hash:/etc/aliases

# The alias_database parameter specifies the alias database(s) that
# are built with "newaliases" or "sendmail -bi".  This is a separate
# configuration parameter, because alias_maps (see above) may specify
# tables that are not necessarily all under control by Postfix.
#
#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
#alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
alias_database = hash:/etc/aliases

# The mail_spool_directory parameter specifies the directory where
# UNIX-style mailboxes are kept. The default setting depends on the
# system type.
#
#mail_spool_directory = /var/mail
#mail_spool_directory = /var/spool/mail
mail_spool_directory = /var/mail

# FAST ETRN SERVICE
#
# Postfix maintains per-destination logfiles with information about
# deferred mail, so that mail can be flushed quickly with the SMTP
# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
# 
# By default, Postfix maintains deferred mail logfile information
# only for destinations that Postfix is willing to relay to (as
# specified in the relay_domains parameter). For other destinations,
# Postfix attempts to deliver ALL queued mail after receiving the
# SMTP "ETRN domain.tld" command, or after execution of "sendmail
# -qRdomain.tld". This can be slow when a lot of mail is queued.
# 
# The fast_flush_domains parameter controls what destinations are
# eligible for this "fast ETRN/sendmail -qR" service.
# 
#fast_flush_domains = $relay_domains
#fast_flush_domains =
fast_flush_domains = $relay_domains

# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP $mail_name


# DEBUGGING CONTROL
#
# The debug_peer_level parameter specifies the increment in verbose
# logging level when an SMTP client or server host name or address
# matches a pattern in the debug_peer_list parameter.
#
debug_peer_level = 2

# The debugger_command specifies the external command that is executed
# when a Postfix daemon program is run with the -D option.
#
# Use "command .. & sleep 5" so that the debugger can attach before
# the process marches on. If you use an X-based debugger, be sure to
# set up your XAUTHORITY environment variable before starting Postfix.
#
debugger_command =
	 PATH=/usr/bin:/usr/X11R6/bin
	 xxgdb $daemon_directory/$process_name $process_id & sleep 5

# INSTALL-TIME CONFIGURATION INFORMATION
#
# The following parameters are used when installing a new Postfix version.
# 
# sendmail_path: The full pathname of the Postfix sendmail command.
# This is the Sendmail-compatible mail posting interface.
# 
sendmail_path = /usr/sbin/sendmail

# newaliases_path: The full pathname of the Postfix newaliases command.
# This is the Sendmail-compatible command to build alias databases.
#
newaliases_path = /usr/bin/newaliases

# mailq_path: The full pathname of the Postfix mailq command.  This
# is the Sendmail-compatible mail queue listing command.
# 
mailq_path = /usr/bin/mailq

# setgid_group: The group for mail submission and queue management
# commands.  This must be a group name with a numerical group ID that
# is not shared with other accounts, not even with the Postfix account.
#
setgid_group = maildrop

# manpage_directory: The location of the Postfix on-line manual pages.
#
manpage_directory = /usr/share/man

# sample_directory: The location of the Postfix sample configuration files.
#
sample_directory = /usr/share/doc/packages/postfix/samples

# readme_directory: The location of the Postfix README files.
#
readme_directory = /usr/share/doc/packages/postfix/README_FILES
#
# perlitz
message_size_limit = 40960000

#suseconfig:
canonical_maps = hash:/etc/postfix/canonical
virtual_maps = hash:/etc/postfix/virtual, hash:/etc/postfix/confixx_virtualUsers, hash:/etc/postfix/confixx_localDomains
relocated_maps = hash:/etc/postfix/relocated
transport_maps = hash:/etc/postfix/transport
sender_canonical_maps = hash:/etc/postfix/sender_canonical
masquerade_exceptions = root
masquerade_classes = envelope_sender, header_sender, header_recipient
inet_interfaces = all
masquerade_domains = prixa.biz
smtpd_sender_restrictions = hash:/etc/postfix/access
smtpd_client_restrictions = 
strict_rfc821_envelopes = no
#smtpd_recipient_restrictions = permit_mynetworks,check_relay_domains
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination

#SMTPD Auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

#TLS Support
smtpd_use_tls = yes
#smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/key.pem
smtpd_tls_cert_file = /etc/postfix/cert.pem
smtpd_tls_CAfile = /etc/postfix/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
master.cf

Code: Select all

smtp	  inet	n	-	n	-	-	smtpd
smtps	  inet	n	-	n	-	-	smtpd
  -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission	inet	n	-	n	-	-	smtpd
#  -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628	  inet	n	-	n	-	-	qmqpd
pickup	  fifo	n	-	n	60	1	pickup
cleanup	  unix	n	-	n	-	0	cleanup
qmgr	  fifo	n	-	n	300	1	qmgr
#qmgr	  fifo	n	-	n	300	1	nqmgr
#tlsmgr	  fifo	-	-	n	300	1	tlsmgr
rewrite	  unix	-	-	n	-	-	trivial-rewrite
bounce	  unix	-	-	n	-	0	bounce
defer	  unix	-	-	n	-	0	bounce
flush	  unix	n	-	n	1000?	0	flush
smtp	  unix	-	-	n	-	-	smtp
showq     unix	n	-	n	-	-	showq
error     unix	-	-	n	-	-	error
local	  unix	-	n	n	-	-	local
virtual	  unix	-	n	n	-	-	virtual
lmtp	  unix	-	-	n	-	-	lmtp
#localhost:10025 inet	n	-	n	-	-	smtpd -o content_filter=
#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# The Cyrus deliver program has changed incompatibly.
#
cyrus	  unix	-	n	n	-	-	pipe
  flags=R user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -m ${extension} ${user}
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=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
vscan     unix  -       n       n       -       10       pipe
  user=vscan argv=/usr/sbin/amavis ${sender} ${recipient}
procmail  unix  -       n       n       -       -       pipe
  flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
confixx_localDomains jeweils ein Eintrag pro confixx domain in der Form:

Code: Select all

domain.tld confixx
confixx_virtualUsers jeweils ein Eintrag pro confixx domain in der Form:

Code: Select all

mailadr@domain.tld webXpX
@domain.tld webXpX

squize
Userprojekt
Userprojekt
Posts: 741
Joined: 2003-05-19 16:46
Location: Karlsruhe

Re: mailer loop (postfix)

Post by squize » 2004-01-28 20:09

Erst einmal ist dies garantiert falsch:

Code: Select all

mydomain = www.p12345678.pureserver.info
Die Domain ist nämlich nicht defiinert, hier sollte also p12345678.pureserver.info stehen.

Gruss

Marc

chrbri
Posts: 9
Joined: 2004-03-02 15:57
Location: Bielefeld

Re: mailer loop (postfix)

Post by chrbri » 2004-03-02 16:05

Hallo,

ich hatte exakt diese Fehlermeldung.
Ich habe festgestellt, dass diese Fehlermeldung auftritt, wenn ein Beitrag mit phpMyFAQ erstellt wird. Dann geht eine Nachricht an den Admin raus, und dort ist webmaster@domain.com eingetragen. Als ich also den admin geändert hatte, war auch die Fehermeldung weg.

Gruß Christian