exim: Use the external DNS name in HELO commands.
authorMatthijs Kooijman <matthijs@stdin.nl>
Tue, 10 Aug 2010 10:02:25 +0000 (12:02 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Tue, 10 Aug 2010 10:02:25 +0000 (12:02 +0200)
The hostname of the mail vserver is not in public DNS, so some smtp
servers reject a HELO command that uses it. This change makes sure that
the hostname of the vserver host is used in HELO command, which is the
external hostname to use for reaching the mail vserver.

etc/exim4/conf.d/main/main_config
etc/exim4/conf.d/transport/30_remote_smtp

index 771d2b6d5d775f157394adef970e74bc994fdd5f..fd84263b87c252f0089c2ba6ec93d542deca35af 100644 (file)
@@ -31,8 +31,10 @@ hostlist dont_reject_spam_hosts = katherina.student.utwente.nl : kat.student.utw
 # can come from any vserver, just use our main hostname.
 qualify_domain = drsnuggles.stderr.nl
 
-# Let exim know how the rest of the world will try to reach us.
-hosts_treat_as_local = drsnuggles.stderr.nl
+# Let exim know how the rest of the world will try to reach us. The
+# stmp transport also uses this macro for its helo command.
+EXTERNAL_HOSTNAME = drsnuggles.stderr.nl
+hosts_treat_as_local = EXTERNAL_HOSTNAME
 
 # The gecos field in /etc/passwd holds not only the name. see passwd(5).
 gecos_pattern = ^([^,:]*)
index 2b05dee13c446b40081c204789429a207cf99735..7896c30e435acafc8c497cd5ce2284f5931aa3ab 100644 (file)
@@ -6,5 +6,9 @@
 remote_smtp:
   debug_print = "T: remote_smtp for $local_part@$domain"
   driver = smtp
+  # Use a different hostname in our helo command, since our
+  # primary_hostname is not in public DNS. EXTERNAL_HOSTNAME is a macro
+  # defined in the main config.
+  helo_data = EXTERNAL_HOSTNAME
 
 # vim: set sts=2 expandtab sw=2 ai: