pentacent / keila

Open Source Newsletter Tool.
https://keila.io
GNU Affero General Public License v3.0
1.25k stars 61 forks source link

Support testing Sender connectivity on Sender configuration screen #254

Open jpwarren opened 6 months ago

jpwarren commented 6 months ago

It would be handy if you could test connectivity when setting up a new Sender, or when changing its configuration.

Verifying you've correctly set the connection parameters when setting up a Sender, on the same screen, would be useful. I have seen this in other tools. Essentially a button saying Test Connection or similar so you can quickly notice if you've typo'd the SMTP host or port, or failed to set the TLS config correctly.

It would also be handy to be able to send a test email via the Sender to verify it works correctly before you try to send a large campaign.

At the moment you need to set up the Sender and then configure a Campaign to send to a list of Contacts to verify a Sender actually works, but if it doesn't it fails silently (see: https://github.com/pentacent/keila/issues/201#issuecomment-1493437052). Debugging means finding the logs (inside the container somewhere if deploying with Docker) which is time consuming and tricky for new adopters.

wmnnd commented 6 months ago

Thank you for opening this issue.

The reason I haven’t implemented this yet is because the only way to really test if the connection works is to try and send an email. Maybe the easiest option is to simply send a test email to the FROM address that's been entered. What do you think about that?

jpwarren commented 6 months ago

For test sending, provide a field with a To: address next to a Send test email button. The From: address may not be one you can actually check received email because you might be using the Reply-To: address for replies.

Also, you can test connectivity without sending an email, but it will require closer control over the SMTP session. You can connect and authenticate but then QUIT before doing RCPT TO, MAIL FROM, or DATA.

I'd want to see some kind of confirmation either way, on the screen itself. The idea is to get immediate feedback if Mail sent successfully/Connection successful or if some sort of error happened so you can diagnose it right there in the settings screen.

Checking if the email was actually received is a second step.