By default ColdFusion will use the computer name without the domain name appended when sending email. However, some mail servers require that senders use a Fully Qualified Domain Name (FQDN) in their EHLO. If that is the case, you may get errors in your mail.log that look something like this:

Sep 18 17:22:11 mail postfix/smtpd[55543]: NOQUEUE: reject: RCPT from
prlt004[145.94.255.255]: 504 5.5.2 mail3.prisma-it.com: Helo command
rejected: need fully-qualified hostname; from=<email-address>
to=<email-address> proto=ESMTP helo=mail3.prisma-it.com

A similar problem exists with Message-IDs and spam filters and Adobe has TechNote kb400753 ColdFusion MX: Configuring cfmail to use a Fully Qualified Domain Name which describes a solution to fix the Message-ID. Luckily a similar solution works for changing the FQDN used in the EHLO. Just add a mail.smtp.localhost to your jvm.config with the right FQDN as value, restart your ColdFusion instance and you can send email again. My jvm.config uses:

-Dmail.host=jochem.vandieten.net -Dmail.smtp.localhost=jochem.vandieten.net

3 Comments

  1. Barb Nolley says:

    This was the info I needed … it solved my problem … thanx! :)

  2. Al says:

    Can this be set on an individual website level?
    So that for each of the websites on my computer, it has the correct domain name

  3. Jochem says:

    Setting this on a per website level would defeat the purpose since you want the FQDN in the EHLO to be the same as the PTR DNS returns when you look up the IP address, and that is the same all the time.
    I don’t think you can configure this on a per website or per directory level. But you probably can (I never tried it) change the hostname using the following code:
    <cfset CreateObject(”java”, “java.lang.System”).setProperty(”mail.smtp.localhost”, “jochem.vandieten.net”)>
    If you wrap this in an exclusive lock with the cfmail tag and disable spooling you should get the effect you want.