So this is more of a note that you should have in the docs and ideally in your settings page. I did not receive mail so I added an SMTP plugin and it still did not work. Other plugins and testing worked just fine till I dived in your code. It seems that many mail servers (even with auth/tls on) will reject mail which has a different sender field as set in the smtp config as the from header you set. Not all SMTP plugins give you the option to manage this - but the cimy-swift-smtp plugin does and it MUST be set to "Always overwrite the sender" or many mail servers will reject it. I wish this info was made obvious to me but it took a few hours of hacking code to narrow it down. Maybe this will help others.