good question. there are two challenges faced. 
one is that anything using `BaseMailer` does not involve any requests, so urls need to be told what the host and port is explicitly. That's why pointing to ActionMailer::Base.default_url_options.

the top part was on @robguthrie 's advice, that ports should not be included in urls in certain well known cases (as defined in `include_port`). In practice I've found have needed to explicitly declare `port: nil`  otherwise I've seen ports being intelligently assumed