I'm trying to set up exim4 on my Debian/Buster server to work with my new ISP (Rogers.com). They require an SSL connection on port 465, which isn't unusual, but I can't get it to work. They do require something they call an app password for unusual programs, which seems to be just a very strong password that they generate for the account.

I've set passwd.client to use all the various servers that seem to be connected with smtp.broadband.rogers.com as it sends e-mail (e.g. *.yahoo.com, *.yahoodns.net) so that it should use the app password no matter where it's asked for it.

I've also used the advice from https://halon.io/blog/how-to-test-smtp-servers-using-the-command-line/ to test my connection. In particular, after trying the command

openssl s_client -connect smtp.broadband.rogers.com:465 -starttls smtp

and the same thing without the -starttls smtp, I concluded that it isn't requiring starttls. This is confirmed by my Thunderbird settings.

I was able to log onto the smtp server using the base64 encoded username and app password (as per halon.io's instructions) for the account I'm trying to send mail from.

Of course rogers doesn't support Linux so I need help to find out how to make this work.

I believe that Debian compiles exim4 against GnuTLS rather than the OpenSSL package I used for my tests, but Debian's wiki suggests this shouldn't be the issue.

Any ideas?

  • 2
    You should merge your two accounts. That way you'll be able to edit your own post without waiting for peer reviewand accept answers on it.
    – roaima
    May 12, 2018 at 20:52

1 Answer 1

  1. Set the rogers.com SMTP server as your smarthost. Append :465 to the name, ie smtp.broadband.rogers.com:465 to use that port instead of 25. This should be set using the command dpkg-reconfigure exim4-config.

  2. Put that server's name in your passwd.client, not the target addresses (otherwise you'd need the whole world in that file). Digging further, it appears that smtp.broadband.rogers.com is a chained CNAME to smtp-rog.mail.a03.yahoodns.net, hence your reference to yahoodns.net. So you need to put the rDNS names for the forward DNS entries into your passwd.client file.

    You can determine these with this little scriptlet

    for ip in $(dig +short smtp.broadband.rogers.com | grep -v '[[:alpha:]]')
        dig +short -x "$ip"
    done | sed 's/\.$//'
  3. You may need to tell the Exim configuration that 465 is SSL. The invocation for this should be placed near the top of the exim4 configuration file (I use conf.d/main/00_local-config):

    tls_on_connect_ports = 465

    Rerun update-exim4.conf each time you change any part of the configuration file. You will also need to restart exim4 if you use it as a daemon.

  • (1) was already being done. His suggestion with (2) makes it seem like he thought I was putting the destination server addresses in passwd.client instead of my e-mail provider's various names. Point (3) seems helpful but it's unclear. Passwd.client and the Exim4 config already include port 465. Is there something else that needs to be done?
    – Gary Dale
    May 13, 2018 at 3:51
  • @GaryDale 1. You didn't say so in your question so I had no way of knowing you'd already done this. 2. Your question is not clear what you meant by "all the various servers that seem to be connected with smtp.broadband.rogers.com". It appears you're referring to CNAMEs. 3. Hopefully the answer is more explicit now
    – roaima
    May 13, 2018 at 23:55

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.