I've been reading my mail with Emacs since 1992. (I use a very old version of VM with local modifications.)
As far as notifications of unread mail go, Emacs used to put "Mail" in the mode line when my folder in /var/spool/mail is non-empty, but I disabled that in the 1990s.
I use fetchmail, which is configured to use IMAP and SSL with Gmail's servers. I am not exercising all of IMAP's functionality though IIUC since I rarely need to access my mail from a machine other than my main machine (and then Gmail's web interface suffices).
I run fetchmail manually rather than having cron run it automatically. The reason I do it that way is that the minute or so I have to wait for fetchmail to download my mail reduces the temptation to check my mail more often than I really need to. If there were a way for me to start reading my new mail instantly, checking my mail would be more gratifying (since instant gratification is more gratifying than delayed gratification) and consequently I would have to exercise more willpower to resist the temptation to seek the gratification.
As far as notifications of unread mail go, Emacs used to put "Mail" in the mode line when my folder in /var/spool/mail is non-empty, but I disabled that in the 1990s.