Forcing exim4's helo_data on Debian/Ubuntu

To be sure exim4 uses the correct HELO data, do this:

# make sure /etc/mailname contains the wanted FQDN, 1 line only!
vi /etc/mailname

export HN=$(cat /etc/mailname)
export FOO=foo
# eventually replace foo with your organization name

echo "  helo_data = $HN" >>/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_$FOO
echo "  helo_data = $HN" >>/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost_$FOO

# make sure exim uses split configuration, i.e. in
# /etc/exim4/update-exim4.conf.conf 
# dc_use_split_config is set to 'true'
vi /etc/exim4/update-exim4.conf.conf 

# finally regenerate /var/lib/exim4/config.autogenerated
update-exim4.conf

# normall, you are ready
# the paranoid might continue

# eventually check for success
grep helo_data /var/lib/exim4/config.autogenerated

# you do NOT NEED this, it might even irritate e.g. tomcat, but eventually ...
/etc/init.d/exim4 restart

Happy mailing.

Update:

To have cron send exactly one testmail do this:

echo '* * * * * root /bin/echo "test from cron" && rm /etc/cron.d/mailtest'  >/etc/cron.d/mailtest

Update 2:

On newer installations don't to the echo helo_data ... above but rather:

export HN=$(cat /etc/mailname)
export FOO=foo
# eventually replace foo with your organization name

echo "REMOTE_SMTP_HELO_DATA = $HN" >>/etc/exim4/conf.d/main/000_helodata_$FOO


From: IBCL BLog.
Originally posted: 2006-04-13