Helo command rejected: need fully-qualified hostname

  • Thread starter Thread starter Gagi2
  • Start date Start date
G

Gagi2

Guest
Hi&Hallo
Ich habe gestern meinen Root neu installiert und nun diverse Probs die ich vorher NICHT hatte (wohl irgendwie anders konfiguriert etc...)

Ich habe Debian Etch inkl Postfix als Mailserver am laufen
als Domainverwaltungs Programm läuft ISPCP (legt auch die virtuellen Mailhosts an etc)

wenn ich eine Mail senden will kommt folgende Meldung
Die Nachricht konnte nicht gesendet werden, da einer der Empfänger vom Server nicht akzeptiert wurde. Die nicht akzeptierte E-Mail-Adresse ist "xxxxxx". Betreff 'testmail', Konto: 'xxxxxx', Server: 'xxxxxx', Protokoll: SMTP, Serverantwort: '504 5.5.2 <crosshair>: Helo command rejected: need fully-qualified hostname', Port: 25, Secure (SSL): Nein, Serverfehler: 504, Fehlernummer: 0x800CCC79
mit den xxxxxx hab ich mal meine Daten verschleiert da ich denke dass diese nicht für das Problem verantwortlich sind ;) (crosshair ist der Name meines PCs)

meine CFGs sehn so aus

main.cf
#
# Postfix MTA Manager Main Configuration File;
#
# Please do NOT edit this file manually;
#

#
# Postfix directory settings; These are critical for normal Postfix MTA functionallity;
#

command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
program_directory = /usr/lib/postfix

#
# Some common configuration parameters;
#

inet_interfaces = all
mynetworks_style = host

myhostname = static.194.37.46.78.clients.your-server.de
mydomain = static.194.37.46.78.clients.your-server.de.local
myorigin = $myhostname

smtpd_banner = $myhostname ESMTP ispCP 1.0 Priamos Managed 1.0.0 RC3 OMEGA
setgid_group = postdrop

#
# Receiving messages parameters;
#

mydestination = $myhostname, $mydomain
append_dot_mydomain = no
append_at_myorigin = yes
local_transport = local
virtual_transport = virtual
transport_maps = hash:/etc/postfix/ispcp/transport

#
# Delivering local messages parameters;
#

mail_spool_directory = /var/mail

# Mailboxquota
# => 0 for unlimited
# => 104857600 for 100 MB
mailbox_size_limit = 0
mailbox_command = procmail -a "$EXTENSION"

biff = no

alias_database = hash:/etc/aliases

local_destination_recipient_limit = 1
local_recipient_maps = unix:passwd.byname $alias_database

#
# ISPCP Autoresponder parameters;
#

ispcp-arpl_destination_recipient_limit = 1

#
# Delivering virtual messages parameters;
#

virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_limit = 0

virtual_mailbox_domains = hash:/etc/postfix/ispcp/domains
virtual_mailbox_maps = hash:/etc/postfix/ispcp/mailboxes

virtual_alias_maps = hash:/etc/postfix/ispcp/aliases

virtual_minimum_uid = 1002
virtual_uid_maps = static:1002
virtual_gid_maps = static:8

#
# SASL paramters;
#

smtpd_sasl_auth_enable = yes
smtpd_sasl2_auth_enable = yes
smtpd_sasl_security_options = noanonymous, noplaintext
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes

smtpd_helo_required = yes

smtpd_helo_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,

smtpd_sender_restrictions = reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit_mynetworks,
permit_sasl_authenticated

smtpd_recipient_restrictions = reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unlisted_recipient,
check_policy_service inet:127.0.0.1:12525,
check_policy_service inet:127.0.0.1:60000,
permit

smtpd_data_restrictions = reject_multi_recipient_bounce,
reject_unauth_pipelining


#
# TLS parameters; activate, if avaible/used
#

smtpd_tls_loglevel = 2
smtpd_tls_cert_file = /etc/postfix/cert.pem
smtpd_tls_key_file = /etc/postfix/privkey.pem
smtpd_use_tls = yes
smtpd_tls_auth_only = no
smtpd_tls_received_header = yes


#
# AMaViS parameters; activate, if available/used
#

#content_filter = amavis:[127.0.0.1]:10024
content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings

#
# Quota support; activate, if available/used
#

#virtual_create_maildirsize = yes
#virtual_mailbox_extended = yes
#virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
#virtual_mailbox_limit_override = yes
#virtual_maildir_limit_message = "The user you're trying to reach is over mailbox quota."
#virtual_overquota_bounce = yes

master.cf
#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
#submission inet n - - - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#smtps inet n - - - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
# For AOL-Accounts
587 inet n - - - - smtpd
-o smtpd_client_restrictions=permit_sasl_authenticated,reject_unauth_destination
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo 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
smtp unix - - - - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error 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
# ====================================================================
# ISPCP ω OMEGA configuration
# ====================================================================
# AMaViS => Antivir / Antispam
amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes

localhost:10025 inet n - 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 smtpd_override_options=no_address_mappings
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes

# ISPCP autoresponder
ispcp-arpl unix - n n - - pipe
flags=O user=vmail argv=/var/www/ispcp/engine/messager/ispcp-arpl-msgr

# TLS - Activate, if TLS is avaiable/used
smtps inet n - - - - smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
#
# The Cyrus deliver program has changed incompatibly, multiple times.
#
old-cyrus unix - n n - - pipe
flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
# Cyrus 2.1.5 (Amos Gouaux)
# Also specify in main.cf: cyrus_destination_recipient_limit=1
cyrus unix - n n - - pipe
user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
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

steh irgendwie grade aufm Schlauch und seh den Wald vor Bäumen nicht...
 
Hallo,
bei ISPCP sollte der Hostname so aussehen: name.domain.tld

myhostname = static.194.37.46.78.clients.your-server.de
mydomain = static.194.37.46.78.clients.your-server.de.local

So wird das auf keinen Fall was. ;)

Tip

Server neu aufsetzen, Hostname setzen, Reboot und ISPCP installieren.
 
nunja... ich hatte den selben Hostnamen auch in der vorherigen Installation so drin und es hat funktioniert...
aber ich versuchs mal...
 
Hallo,

das ist der von seinem Provider gesetzte RDNS.

ja aber inwieweit hilft mir das jetzt weiter?
nochmal neu installieren wollte ich mir eigentlich nicht antun...
schon alleine wegen der Gameserver und Downtime etc :cool:

dieser Hostname ist vom Provider vorgegeben und hat auch vorher funktioniert...
sollte dieser nicht genauso gut funktionieren wie jeder andere? :confused:

Alternativen? :rolleyes:
 
dieser Hostname ist vom Provider vorgegeben und hat auch vorher funktioniert...

Wie "vorher" ? Unter VHCS, Confixx, Plesk ?

Solltest Du VHCS genutzt haben, so kann es sein. Es liegen nun "Welten" zwischen VHCS und ISPCP !
 
ich hatte bis gestern auch schon ISPCP in Verwendung!
dann hab ich den Root neu installiert...

btw: ich hab hier noch ne Zeile ausm Log
Mar 11 18:54:11 static postfix/smtpd[4023]: NOQUEUE: reject: RCPT from M2437P004.adsl.highway.telekom.at[212.183.36.132]: 504 5.5.2 <crosshair>: Helo command rejected: need fully-qualified hostname; from=<gagi2@austrian-funclan.com> to=<gagi2@a1.net> proto=ESMTP helo=<crosshair>
der sendet ein helo mit dem Namen meines PCs... sollte das das Problem sein?
denn "crosshair" ist mit Sicherheit KEIN "fully-qualified hostname"
 
Hallo,

nicht dein Server sondern Dein PC sendet den Non-FQDN.

Aus Deiner main.cf:
smtpd_helo_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname
,
da ist es gesperrt.

Da "permit_sasl_authenticated" davor steht gilt die Sperre aber nicht, wenn Du Dich am Server authentifizierst, was für Mailversand an andere Server ohnehin erforderlich ist.

Also im Mailclient (auf dem PC) SmtpAuth aktivieren und gut is.

Wobei ich von diesen Pseudo-Spamschutzspielereien wie die beiden markierten Zeilen (und noch mehr in deiner main.cf) überhaupt nix halte. Hält zwar etlichen Spam ab, aber so manche seriöse Newsletter (und AFAIK sogar ein Teil der Ebaymails) kommen von Servern die mit dieser Konfiguration abgewiesen werden. Ich hoffe, Du kannst das in Deiner Administrationsoberfläche abstellen.
 
Last edited by a moderator:
Mit dem Auszug aus dem Log wird klar, dass Ihr hier von zwei unterschiedlichen Problemen redet, nämlich der Mail-Konfiguration des Servers und dem nicht gesetzten Hostname Deines Heim-Rechners...

Code:
smtpd_helo_restrictions = permit_mynetworks,
    permit_sasl_authenticated,
    [COLOR="Red"]reject_non_fqdn_helo_hostname,[/COLOR]
    reject_invalid_helo_hostname[COLOR="Red"],[/COLOR]

Dass Du falsche HELO-Namen ablehne willst, hast Du in Deiner Config drin stehen. Die sieht teilweise zwar etwas merkwürdig aus (habe jetzt allerdings keine Lust, mich durch die Postfix-Doku zu wühlen und die einzelnen Statements zu überprüfen) mindestens in der letzten Zeile von den smtpd_helo_restrictions ist ein Komma zu viel..., scheint aber sonst in Ordnung zu sein.

Falls der Rest des obigen Statements korrekt ist, sollte das Problem allerdings nicht auftauchen, wenn der einliefernde Rechner via SASL authentifiziert ist. Schau mal nach, ob das überhaupt richtig funktioniert. Da liegt nämlich der Fehler.
 
Wobei ich von diesen Pseudo-Spamschutzspielereien wie die beiden markierten Zeilen (und noch mehr in deiner main.cf) überhaupt nix halte. Hält zwar etlichen Spam ab, aber so manche seriöse Newsletter (und AFAIK sogar ein Teil der Ebaymails) kommen von Servern die mit dieser Konfiguration abgewiesen werden. Ich hoffe, Du kannst das in Deiner Administrationsoberfläche abstellen.

also welche sollte ich dann rausnehmen bzw deaktivieren?
 
Hallo,

garnix, Du sollst die Datei nicht manuell bearbeiten - vermutlich weil Dein Administrationstool das sonst irgendwann wieder überschreibt.

Also versuche das über Dein Administrationstool abzuschalten.

smtpd_helo_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_helo_hostname,
reject_invalid_helo_hostname,

smtpd_sender_restrictions = reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit_mynetworks,
permit_sasl_authenticated

smtpd_recipient_restrictions = reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unlisted_recipient,
check_policy_service inet:127.0.0.1:12525,
check_policy_service inet:127.0.0.1:60000,
permit

ersetzen durch

Code:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
dann geht alles rein auch von mies konfigurierten Servern, egal ob die ein Möchtegernadmin oder ein Spammer betreibt. Ausgehender Versand ist aber nur mit SmtpAuth möglich, wovon man sich nach jeder Änderung in der main.cf durch einen kurzen Praxistest überzeugen sollte.
 
Ich bleibe dabei :)

Habe X ISPCP Installationen hinter mir ;)

Setze den Hostnamen "wie oben beschrieben" .
( Es ist eine ISPCP Eigenheit )

Im "Härtefall" kann ich Dir eine "Neuinstallation" anbieten.
( wenn es so sein soll, bitte nur per PM )
 
Hallo,

Ich bleibe dabei
ich weis, daß Du Provider bist und scheinbar auch derjenige bei der der Betroffene Kunde ist, aber trotzdem ein Einwand: das ISCSP schreibt doch auch nur in die main.cf, warum kann man die dann nicht analysieren wie eine manuell erstellte?
 
Hey,

pack mal deine ganzen Restriktionen in die "smtp_recipient_restrictions" dort sind sie am besten aufgehoben und du prüfst nichts mehr doppelt.


Grüße
 
ich hab jetzt einfach
Code:
smtpd_sasl_security_options = noanonymous, noplaintext
durch
Code:
smtpd_sasl_security_options = noanonymous
ersetzt und es schnurrt wieder wie n Kätzchen... :cool:
 
Last edited by a moderator:
Back
Top