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

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have some kind of a problem with a mail server consist of postfix + dovecot + roundcube on a debian squeeze.

Sending and receiving mail from roundcube workd perfectly. But I can't send mail from an external client such as outlook. I still can read mail from POP3 or IMAP perfectly. I have always the same error but, I can't find a solution on the internet :

client.hostname: Helo command rejected: need fully-qualified hostname; from=<> to=<> proto=ESMTP helo=client.hostname

Here is my postfix's :

# 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 = 1h

readme_directory = no

# TLS parameters
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/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
#mydestination =, 9274hd61061, localhost.localdomain, localhost
#relayhost =
mynetworks = [::ffff:]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

virtual_uid_maps = static:3000
virtual_gid_maps = static:3000
virtual_mailbox_base = /home/mailer

virtual_transport = dovecot

virtual_mailbox_domains = mysql:/etc/postfix/
virtual_mailbox_maps = mysql:/etc/postfix/
virtual_alias_maps = mysql:/etc/postfix/
relay_domains = mysql:/etc/postfix/

smtpd_recipient_restrictions =

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

dovecot_destination_recipient_limit = 1

Does someone have any idea ?

share|improve this question
up vote 3 down vote accepted

During the SMTP transaction when someone is sending you mail, The conversation starts with the person trying to send you mail saying something like this:


The error you are getting:

: Helo command rejected: need fully-qualified hostname; from= to= proto=ESMTP helo=

is saying that the hostname they send is not a fully-qualified hostname. So instead of sending something like "" they are sending just "remotehostname. You reject this because you explicitly set reject_non_fqdn_hostname in your smtpd_recipient_restrictions.

share|improve this answer
Oh, thank you, i have'nt seen that, i "sharped" reject_non_fqdn_hostname and it's working. – scipio Feb 8 '12 at 14:54

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.