1

Topic: Microsoft Outlook error sending emails "Helo command rejected"

I use Thunderbird without a problem although now I am having to set up email on another PC that uses Outlook I have spent all morning trying to get the settings to work correctly and be able to send emails via Outlook.

Getting this error everytime:
Jul 23 12:52:25 example postfix/smtpd[3794]: connect from cust134.barn.cable.virginmedia.com[94.171.185.123]
Jul 23 12:52:25 example postfix/smtpd[3794]: NOQUEUE: reject: RCPT from cust134.barn.cable.virginmedia.com[94.171.185.123]: 504 5.5.2 <benPC>: Helo command rejected: need fully-qualified hostname; from=<mail@example.co.uk> to=<info@example.co.uk> proto=ESMTP helo=<benPC>
Jul 23 12:52:28 web2works postfix/smtpd[3794]: disconnect from cust134.barn.cable.virginmedia.com[94.171.185.123]

Reading both the below topics say that I need fully-qualified hostname, although how do I change this? I presume its a setting in outlook otherwise I wouldn't be able to send via Thunderbird and RoundCube.
http://www.iredmail.org/forum/topic529- … tlook.html
http://www.iredmail.org/forum/topic492- … ation.html

This is a print screen of the different settings I can set via Outlook when creating an email account.

http://img819.imageshack.us/img819/8632/unled1slu.jpg

http://img830.imageshack.us/img830/7456/unled2lq.jpg

http://img13.imageshack.us/img13/4654/unled3ar.jpg

----

Spider Email Archiver: On-Premises, lightweight email archiving software developed by iRedMail team. Supports Amazon S3 compatible storage and custom branding.

2

Re: Microsoft Outlook error sending emails "Helo command rejected"

I saw you already have SMTP auth enabled, then it should be working as expected with default iRedMail setting.
Could you please paste output of command 'postconf -n' here? It will bypass authenticated clients before performing HELO checking.

3 (edited by web2works 2011-07-24 15:47:40)

Re: Microsoft Outlook error sending emails "Helo command rejected"

ZhangHuangbin wrote:

I saw you already have SMTP auth enabled, then it should be working as expected with default iRedMail setting.
Could you please paste output of command 'postconf -n' here? It will bypass authenticated clients before performing HELO checking.

example:~# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
allow_min_user = no
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
delay_warning_time = 0h
disable_vrfy_command = yes
enable_original_recipient = no
header_checks = pcre:/etc/postfix/header_checks.pcre
home_mailbox = Maildir/
inet_interfaces = all
mail_name = iRedMail
mail_version = 0.5.1
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 104857600
maximal_backoff_time = 4000s
maximal_queue_lifetime = 1d
message_size_limit = 20971520
minimal_backoff_time = 300s
mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhost                                                                                                                                                             name
mydomain = vm.bytemark
myhostname = example.co.uk
mynetworks = 127.0.0.0/8
mynetworks_style = subnet
myorigin = example.co.uk
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps $myde                                                                                                                                                             stination $mynetworks $recipient_bcc_maps $recipient_canonical_maps $relay_domai                                                                                                                                                             ns $relay_recipient_maps $relocated_maps $sender_bcc_maps $sender_canonical_maps                                                                                                                                                              $smtp_generic_maps $smtpd_sender_login_maps $transport_maps $virtual_alias_doma                                                                                                                                                             ins $virtual_alias_maps $virtual_mailbox_domains $virtual_mailbox_maps
queue_run_delay = 300s
readme_directory = no
recipient_bcc_maps = proxy:ldap:/etc/postfix/ldap_recipient_bcc_maps_domain.cf,                                                                                                                                                              proxy:ldap:/etc/postfix/ldap_recipient_bcc_maps_user.cf
recipient_delimiter = +
relay_domains = $mydestination, proxy:ldap:/etc/postfix/ldap_relay_domains.cf
relay_recipient_maps = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
relayhost =
sender_bcc_maps = proxy:ldap:/etc/postfix/ldap_sender_bcc_maps_domain.cf, proxy:                                                                                                                                                             ldap:/etc/postfix/ldap_sender_bcc_maps_user.cf
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_enforce_tls = no
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated, check_hel                                                                                                                                                             o_access pcre:/etc/postfix/helo_access.pcre
smtpd_recipient_restrictions = reject_unknown_sender_domain,    reject_unknown_r                                                                                                                                                             ecipient_domain,        reject_non_fqdn_sender,         reject_non_fqdn_recipien                                                                                                                                                             t,      reject_unlisted_recipient,      reject_non_fqdn_helo_hostname,  reject_i                                                                                                                                                             nvalid_helo_hostname    check_policy_service inet:127.0.0.1:7777,    permit_myne                                                                                                                                                             tworks,    permit_sasl_authenticated,    reject_unauth_destination,     check_re                                                                                                                                                             cipient_access hash:/etc/postfix/accept_special
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain =
smtpd_sasl_path = dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = proxy:ldap:/etc/postfix/ldap_sender_login_maps.cf
smtpd_sender_restrictions = check_policy_service inet:127.0.0.1:7778, permit_myn                                                                                                                                                             etworks, permit_sasl_authenticated
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_loglevel = 0
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = proxy:ldap:/etc/postfix/ldap_transport_maps_user.cf, proxy:ldap                                                                                                                                                             :/etc/postfix/ldap_transport_maps_domain.cf
virtual_alias_maps = proxy:ldap:/etc/postfix/ldap_virtual_alias_maps.cf, proxy:l                                                                                                                                                             dap:/etc/postfix/ldap_virtual_group_maps.cf, proxy:ldap:/etc/postfix/ldap_sender                                                                                                                                                             _login_maps.cf, proxy:ldap:/etc/postfix/ldap_catch_all_maps.cf
virtual_gid_maps = static:1000
virtual_mailbox_base = /var/vmail/vmail01
virtual_mailbox_domains = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_domains.c                                                                                                                                                             f
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
virtual_minimum_uid = 1000
virtual_transport = dovecot
virtual_uid_maps = static:1000
example:~# clear
example:~# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
allow_min_user = no
append_dot_mydomain = no
biff = no
bounce_queue_lifetime = 1d
broken_sasl_auth_clients = yes
config_directory = /etc/postfix
delay_warning_time = 0h
disable_vrfy_command = yes
enable_original_recipient = no
header_checks = pcre:/etc/postfix/header_checks.pcre
home_mailbox = Maildir/
inet_interfaces = all
mail_name = iRedMail
mail_version = 0.5.1
mailbox_command = /usr/lib/dovecot/deliver
mailbox_size_limit = 104857600
maximal_backoff_time = 4000s
maximal_queue_lifetime = 1d
message_size_limit = 20971520
minimal_backoff_time = 300s
mydestination = $myhostname, localhost, localhost.localdomain, localhost.$myhostname
mydomain = vm.bytemark
myhostname = example.co.uk
mynetworks = 127.0.0.0/8
mynetworks_style = subnet
myorigin = example.co.uk
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
queue_run_delay = 300s
readme_directory = no
recipient_bcc_maps = proxy:ldap:/etc/postfix/ldap_recipient_bcc_maps_domain.cf, proxy:ldap:/etc/postfix/ldap_recipient_bcc_maps_user.cf
recipient_delimiter = +
relay_domains = $mydestination, proxy:ldap:/etc/postfix/ldap_relay_domains.cf
relay_recipient_maps = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
relayhost =
sender_bcc_maps = proxy:ldap:/etc/postfix/ldap_sender_bcc_maps_domain.cf, proxy:ldap:/etc/postfix/ldap_sender_bcc_maps_user.cf
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_enforce_tls = no
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated, check_helo_access pcre:/etc/postfix/helo_access.pcre
smtpd_recipient_restrictions = reject_unknown_sender_domain,    reject_unknown_recipient_domain,        reject_non_fqdn_sender,         reject_non_fqdn_recipient,      reject_unlisted_recipient,      reject_non_fqdn_helo_hostname,  reject_invalid_helo_hostname         check_policy_service inet:127.0.0.1:7777,    permit_mynetworks,    permit_sasl_authenticated,    reject_unauth_destination,     check_recipient_access hash:/etc/postfix/accept_special
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = no
smtpd_sasl_local_domain =
smtpd_sasl_path = dovecot-auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sender_login_maps = proxy:ldap:/etc/postfix/ldap_sender_login_maps.cf
smtpd_sender_restrictions = check_policy_service inet:127.0.0.1:7778, permit_mynetworks, permit_sasl_authenticated
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail_CA.pem
smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_loglevel = 0
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
tls_random_source = dev:/dev/urandom
transport_maps = proxy:ldap:/etc/postfix/ldap_transport_maps_user.cf, proxy:ldap:/etc/postfix/ldap_transport_maps_domain.cf
virtual_alias_maps = proxy:ldap:/etc/postfix/ldap_virtual_alias_maps.cf, proxy:ldap:/etc/postfix/ldap_virtual_group_maps.cf, proxy:ldap:/etc/postfix/ldap_sender_login_maps.cf, proxy:ldap:/etc/postfix/ldap_catch_all_maps.cf
virtual_gid_maps = static:1000
virtual_mailbox_base = /var/vmail/vmail01
virtual_mailbox_domains = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_domains.cf
virtual_mailbox_maps = proxy:ldap:/etc/postfix/ldap_virtual_mailbox_maps.cf
virtual_minimum_uid = 1000
virtual_transport = dovecot
virtual_uid_maps = static:1000

4

Re: Microsoft Outlook error sending emails "Helo command rejected"

Obviously, you forgot to mention that you changed Postfix settings.

Default setting of smtpd_recipient_restrictions is:

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:127.0.0.1:7777,
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,
    check_policy_service inet:127.0.0.1:10031

Order of restrictions is VERY important, postfix will check these restrictions one-by-one. So, please make sure 'reject_non_fqdn_helo_hostname' is behind 'permit_sasl_authenticated'.

5

Re: Microsoft Outlook error sending emails "Helo command rejected"

ZhangHuangbin wrote:

Obviously, you forgot to mention that you changed Postfix settings.

Default setting of smtpd_recipient_restrictions is:

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:127.0.0.1:7777,
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    reject_non_fqdn_helo_hostname,
    reject_invalid_helo_hostname,
    check_policy_service inet:127.0.0.1:10031

Order of restrictions is VERY important, postfix will check these restrictions one-by-one. So, please make sure 'reject_non_fqdn_helo_hostname' is behind 'permit_sasl_authenticated'.

Sorry I totally forgot I had changed the settings a while ago because the spam protection was too hight for me. I also noticed that in that section I have a comma missing.

Thank you.