Read the statement by Michael Teeuw here.
Email
-
Description
Just made an email module for MagicMirror. It is my first module and I had a lot of fun making it.
It pulls and displays all unread emails and listens for new incoming emails. It updates the mirror when a new email arrives.Features:
- Uses IMAP protocol
- Full customization - number of emails to display, search parameters, fade effect
- Listens for new incoming emails
Updated 06/10/2017:
Now supports:- Multiple email accounts
- Will not crash on too many unread email support
- Better fetching of recent and unread emails
Please let me know if there are any additional features or improvements that you need.
Screenshots


Download
[card:ronny3050/email-mirror]
-
Thats awesome
-
@Phate Thank you so much! :)
-
As soon as I get a chance I’ll give it a go… :-)
-
-
Looks interesting.
Request: Multiple email accounts?
OR - better still since I just need the ALERT: any way I can just get a NUMBER of emails I need to read:joeshmoe@gmail.com - 17 unread
suzieQ@public.com - 5 unread
UncleSam@gov.com - 0 unreadI’ll have a look at your module once I sort one other problem on my MM2 out.
-
@amanzimdwini Thank you!
That seems very interesting. I will take a look at that and get back to you! It is definitely possible, however, I’d like to get an audio notification (on new incoming emails) working before I proceed.
-
Thx. In the meanwhile: I’d like to change the font size you use for display to small/tiny (I have about a zillion emails in 12+ different accounts)… so I have to fix my custom.css
Judging from previous problems (look at the bottom of
https://forum.magicmirror.builders/topic/254/sachin-s-mirror/21
) I stink at finding the properties myself - any hints would be most welcome. -
@amanzimdwini
That’s a good idea. Note:- Number of emails to display is customizable and the default is 5.
- Instead of enforcing people to play around with css, I can have a config property where you can set the font size as ‘big’, ‘medium’, ‘small’.
Please let me know when you get this module up and running, and whether the above helps.
-
Git pull was easy.
npm install yieldedpi@MagicMirror2:~/MagicMirror/modules $ npm install npm WARN enoent ENOENT: no such file or directory, open '/home/pi/MagicMirror/modules/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/pi/MagicMirror/modules/node_modules/node_helper/packa ge.json' npm WARN modules No description npm WARN modules No repository field. npm WARN modules No README data npm WARN modules No license field.I’ll go ahead, but thought you might want to know.
Note from admin: Please use Markdown on code and shell snippets!
-
@amanzimdwini
I am sorry if my instructions weren’t clear, I’ll update the README. You need to run “npm install” inside the “email” folder. -
pi@MagicMirror2:~/MagicMirror/modules $ npm install npm WARN enoent ENOENT: no such file or directory, open '/home/pi/MagicMirror/modules/package.json' npm WARN enoent ENOENT: no such file or directory, open '/home/pi/MagicMirror/modules/node_modules/node_helper/packa ge.json' npm WARN modules No description npm WARN modules No repository field. npm WARN modules No README data npm WARN modules No license field. pi@MagicMirror2:~/MagicMirror/modules $ ^C pi@MagicMirror2:~/MagicMirror/modules $ cd .. pi@MagicMirror2:~/MagicMirror $ cd config/ pi@MagicMirror2:~/MagicMirror/config $ ls config.1 config.2 config.5.keep config.good config.good.js config.good.swap config.js config.js.sample config.js.save config.js.save.1 pi@MagicMirror2:~/MagicMirror/config $ sudo nano config.js pi@MagicMirror2:~/MagicMirror/config $ cd .. pi@MagicMirror2:~/MagicMirror $ cd modules/ pi@MagicMirror2:~/MagicMirror/modules $ ls default email MMM-HTTPRequestDisplay MMM-wordnik MMM-WunderGround MMM-Wunderlist node_modules README.md TR_swap pi@MagicMirror2:~/MagicMirror/modules $ cd email/ pi@MagicMirror2:~/MagicMirror/modules/email $ npm install email@0.0.1 /home/pi/MagicMirror/modules/email ├─┬ debug@2.2.0 │ └── ms@0.7.1 ├─┬ imap@0.8.17 │ ├─┬ readable-stream@1.1.14 │ │ ├── core-util-is@1.0.2 │ │ ├── inherits@2.0.1 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ └── utf7@1.0.0 ├─┬ mailparser@0.4.9 │ ├─┬ encoding@0.1.12 │ │ └── iconv-lite@0.4.13 │ ├── mime@1.3.4 │ ├─┬ mimelib@0.2.19 │ │ └── addressparser@0.3.2 │ └── uue@1.0.0 └── underscore@1.8.3 npm WARN email@0.0.1 No repository field. npm WARN email@0.0.1 No license field.
Note from admin: Please use Markdown on code and shell snippets!
-
@amanzimdwini Yes, you should be all set! Thanks for the updates. :D
-
@ronny3050
Thx for updating the README.
Followed instructions (requested app-pwd since I have 2-factor authentication).
My config.js:{ module: 'email', position: 'bottom_left', header: 'Email', config:{ user: 'XXX@gmail.com', password: '****************', host: 'imap.gmail.com', port: 993, tls: true, authTimeout: 10000, numberOfEmails: 5, fade: true }Restarted (NOT REBOOTED) Pi.
Got this:

Rebooted (just to be safe) - same result.
-
@amanzimdwini you are missing a ‘}’ which closes the config block. It should look like:
{ module: 'email', position: 'bottom_left', header: 'Email', config:{ user: 'XXX@gmail.com', password: '****************', host: 'imap.gmail.com', port: 993, tls: true, authTimeout: 10000, numberOfEmails: 5, fade: true } } -
@ronny3050
Sorry - pasted only partial copy; I had the trailing }.
My Config.js was correct…Just to be on the safe side, I tested it as if config.js had been what I posted - and that failed with a “please create a config file”. As it should have.
So - I think the problem is elsewhere. Sorry
-
@amanzimdwini Could you please report the logs?
-
@amanzimdwini Also, if you’re using Gmail, you need to ‘set lower security for apps’ https://www.google.com/settings/security/lesssecureapps.
-
@amanzimdwini It should be working now?
-
Just did a clean install on a brand new pi in about 5 minutes flat. COOL MODULE.
(still need to work on 2-auth, please. Plus I’ll want to change your config to make the display single line etc. I’ll look at the js file)
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login
