I recently had a customer ask me how MAILTOOL would work for sending emails from their IBM i if they turned on Two Factor Authentication (2FA/MFA) for their Office 365 account. I hadn't really been asked this before so I looked into it, and turned it on in my personal account to test.
You can find instructions for setting up MFA for your Office 365 account in this Microsoft Article. Once set up, you should be presented with an application password that you should keep track of. When I was setting up my account this application password was presented after turning it on. From other articles I have read, this password is to be used in place of your normal account password for applications like SMTP/Email when you are not using OAuth 2.0 authentication with your email client (for example, GreenTools for Microsoft Apps (G4MS)),
This is actually quite a simple change after enabling MFA. I found that all I needed to do was update the password I was using on the MAILTOOL command (either on the command or in a MAILTOOL configuration file) and the email was immediately accepted. I did read that others were having issues using this method with other email clients on other systems, but it worked without a hitch on the IBM i to send emails.
Out of curiosity I also tried to send an email using the Send Email addon for GreenTools for Microsoft Apps (G4MS) which takes advantage of Microsoft's OAuth 2.0 authentication process (a much more secure process than standard user and password authentication) I was greeted with an "invalid grant" error as I expected.
To solve this problem all I needed to do was to re-register the *OFFICE365SMTP service using the G4MSREGSVC command (making sure to specify REDO(*YES) on the command if the account is already set up). Once that process was complete sending emails using G4MS was again painless and secure.
So, it seems that setting up MFA for Office 365 accounts works without much issue for any of the email offerings we have at BVSTools. It does require a little update on your IBM i depending on the method that you are are using to send emails (ie, SMTP server using MAILTOOL or Microsoft's RESTful email API used by G4MS) but once done things should function as they did before.
As always, feel free to contact us with any questions or concerns.