Mail Delivery End-to-End Tests to Google and Microsoft

Hi :wave:

We use check_email_delivery to send emails to different mail providers to check if the emails are successfully delivered (check_email_delivery uses the two plugins check_smtp_send and check_imap_receive).

Example for GMX:

'/custom_data/custom.conf.d/customplugins/check_email_delivery' '--wait' '15' '--plugin' '/custom_data/custom.conf.d/customplugins/check_smtp_send --hostname mail.example.com --port 465 --ssl --username test@example.com --password ***** --mailto test@gmx.ch --mailfrom test@example.com --header '\''Subject: Test %TOKEN1%.'\''' '--plugin' '/custom_data/custom.conf.d/customplugins/check_imap_receive --hostname imap.gmx.net --ssl --username test@gmx.ch --password *** -s SUBJECT -s '\''Test %TOKEN1%'\'''

As more and more providers are currently switching from BasicAuth authentication to oAuth2, check_imap_receive no longer works for Gmail and Hotmail. In the future, there will probably be even more that no longer work.

That’s why I was wondering: What does the Icinga community use to achieve the same thing? Maybe there are experiences with other plugins?

Best,
Markus

If you’re ok with only knowing with 100% certainty, that Mails were send and received and not why it failed, then I can recommend robots for such complex tests.

This is because of the brittleness[1] of the robot solutions, you will never know if the mail system or the robot failed, without manually checking.

I use rcc.exe as runner for my robot framework scenarios and send the results to Icinga2 via my connector robotframework-listener-icinga · PyPI.

[1] stuff moved or IDs changed and now the robot can’t execute the next step.