Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

i'm using iRedmail on my Debian box. I tried to use outlook for for email client, but i got this error and couldn't resolve it.

Nov 19 17:25:10 mail postfix/smtpd[7011]: warning: hostname localhost does not resolve to address my-ip
Nov 19 17:25:10 mail postfix/smtpd[7011]: connect from unknown[my-ip]
Nov 19 17:25:15 mail postfix/smtpd[7011]: NOQUEUE: reject: RCPT from unknown[my-ip]: 504 5.5.2 <KevinNguyen>: Helo command rejected: need fully-qualified hostname; from=<> to=<> proto=ESMTP helo=<KevinNguyen>
Nov 19 17:25:15 mail postfix/smtpd[7011]: lost connection after RCPT from unknown[my-ip]
Nov 19 17:25:15 mail postfix/smtpd[7011]: disconnect from unknown[my-ip]

my /etc/hosts

### Hetzner Online AG installimage
# nameserver config
# IPv4 localhost.localdomain localhost mail
#::1            localhost.localdomain   localhost mail
#  Debian-70-wheezy-64-LAMP
# mail
# IPv6
#::1 ip6-localhost ip6-loopback
#fe00::0 ip6-localnet
#ff00::0 ip6-mcastprefix
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
#ff02::3 ip6-allhosts
#2a01:4f8:b0:7eaf::2  Debian-70-wheezy-64-LAMP

and smtpd_helo_restrictions:

smtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname

My main.cnf

# See /usr/share/postfix/ for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname =
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
myorigin =
#myorigin = localhost
mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhostname
relayhost =
mynetworks = [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
home_mailbox = Maildir/

virtual_alias_maps = proxy:pgsql:/etc/postfix/pgsql/, proxy:pgsql:/etc/postfix/pgsql/, proxy:pgsql:/etc/postfix/pgsql/, proxy:pgsql:/etc/postfix/pgsql/
home_mailbox = Maildir/
#inet_protocols = ipv4
#virtual_alias_domains =
allow_percent_hack = no
swap_bangpath = no
mydomain =
mynetworks_style = host
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated
delay_warning_time = 0h
maximal_queue_lifetime = 4h
bounce_queue_lifetime = 4h
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_domains $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps $smtpd_sender_restrictions
smtp_data_init_timeout = 240s
smtp_data_xfer_timeout = 600s
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks reject_invalid_helo_hostname reject_non_fqdn_helo_hostname
queue_run_delay = 300s
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
enable_original_recipient = no
disable_vrfy_command = yes
allow_min_user = no
message_size_limit = 15728640
virtual_minimum_uid = 2000
virtual_uid_maps = static:2000
virtual_gid_maps = static:2000
virtual_mailbox_base = /var/vmail
transport_maps = proxy:pgsql:/etc/postfix/pgsql/, proxy:pgsql:/etc/postfix/pgsql/
virtual_mailbox_domains = proxy:pgsql:/etc/postfix/pgsql/
virtual_mailbox_maps = proxy:pgsql:/etc/postfix/pgsql/
sender_bcc_maps = proxy:pgsql:/etc/postfix/pgsql/, proxy:pgsql:/etc/postfix/pgsql/
recipient_bcc_maps = proxy:pgsql:/etc/postfix/pgsql/, proxy:pgsql:/etc/postfix/pgsql/
relay_domains = $mydestination, proxy:pgsql:/etc/postfix/pgsql/
smtpd_sender_login_maps = proxy:pgsql:/etc/postfix/pgsql/
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_authenticated_header = no
smtpd_recipient_restrictions = reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unlisted_recipient, check_policy_service inet:, check_policy_service inet:, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_end_of_data_restrictions = check_policy_service inet:
smtpd_tls_security_level = may
smtpd_tls_loglevel = 0
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail_CA.pem
tls_random_source = dev:/dev/urandom
mailbox_command = /usr/lib/dovecot/deliver
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = ./dovecot-auth
content_filter = smtp-amavis:[]:10024
smtp-amavis_destination_recipient_limit = 1
#inet_protocols = ipv4
#virtual_alias_domains =
#inet_protocols = ipv4
#virtual_alias_domains =
#inet_protocols = ipv4
#virtual_alias_domains =
#inet_protocols = ipv4
#virtual_alias_domains =
inet_protocols = ipv4
virtual_alias_domains =
share|improve this question
What's the content of your myhostname in /etc/postfix/ Can you ping localhost from your machine? – Rudu Nov 19 '13 at 16:48
I just updated it. Please take a look. Thanks! – user199892 Nov 19 '13 at 16:51
Yep, i can ping it: – user199892 Nov 19 '13 at 17:02
Your offending lines are smtpd_reject_unlisted_sender and smtpd_sender_restrictions not that you should change them, see the answer from @Envite. The issue is actually your Outlook config telling the server it's someone it isn't and trying to send email, you never want your server to allow this - since that's how spam gets moved around. – Rudu Nov 19 '13 at 17:21
I've got the issue also with maisl really created by localhost (e.g. mailman) – frlan Apr 4 '14 at 12:07

1 Answer 1

Your issue is that Outlook is identifying itself as connecting from 'localhost' when it performs EHLO, and 'localhost' (which is corerct from the Outlook machine point of view) does not resolve to [my-ip] at Postfix machine, but to which is not the IP Postfix is seeing the connection comes from. You need to doublechek your Windows configuration, not your Linux one.

To be 100% sure of this, you should tcpdump the port 25 to see the EHLO localhost line.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.