I found there are a number of limitations, specifically in Javascript apps (to get refresh token and other things), so I will be replaced by the App Passwords mechanism. It simply generates a 16-character password for external applications through which to gain access permission.
This mechanism has been created because when entering the original password, sometimes it can be dangerous.
Therefore, it gives you another password for external programs and the ability to revoke this password if you want and some email providers like gmail require the user to have 2-Step Verification turned on to increase security.
However, some providers, such as Outlook, do not have any issues with using the original password, so Outlook users can just put in their email and password and connect to the plugin without generating the app password.
This mechanism is the official method that email service providers follow to link more than one account to one account.
I mentioned this problem in my proposal in the Gmail problem section. Gmail no longer supports less secure apps (which ask the user to enter the master password) but solves this problem as I explained above by using app passwords. I tested this mechanism and it works very well.
email providers that I used to test the IMAP connection, I don't see any security problems when taking the generated password and the user can also revoke this password.
But I will recheck if there is a security problem that will occur with any of the providers.