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=<testeur2@mail.example.com> to=<testeur2@mail.example.com> proto=ESMTP helo=client.hostname

Here is my postfix's main.cf :

# See /usr/share/postfix/main.cf.dist 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 = coruscant.kilkoa.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
#mydestination = mail.kilkoa.com, 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/mysql_virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
relay_domains = mysql:/etc/postfix/mysql_relay_domains.cf

smtpd_recipient_restrictions =

smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

dovecot_destination_recipient_limit = 1

Does someone have any idea ?

1 Answer 1


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:

HELO rmotehostname.domain.com

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 "remotehostname.domain.com" they are sending just "remotehostname. You reject this because you explicitly set reject_non_fqdn_hostname in your smtpd_recipient_restrictions.

  • Oh, thank you, i have'nt seen that, i "sharped" reject_non_fqdn_hostname and it's working.
    – scipio
    Feb 8, 2012 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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