MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Email

    Scheduled Pinned Locked Moved Productivity
    92 Posts 36 Posters 133.0k Views 39 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      ronny3050 Module Developer
      last edited by yawns

      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

      0_1469384894039_Screen Shot 2016-07-24 at 2.24.54 PM.png

      0_1497142258627_Screen Shot 2017-06-10 at 6.37.12 PM.png

      Download

      [card:ronny3050/email-mirror]

      A A 2 Replies Last reply Reply Quote 5
      • P Offline
        Phate
        last edited by

        Thats awesome

        R 1 Reply Last reply Reply Quote 1
        • R Offline
          ronny3050 Module Developer @Phate
          last edited by

          @Phate Thank you so much! :)

          1 Reply Last reply Reply Quote 0
          • P Offline
            Phate
            last edited by

            As soon as I get a chance I’ll give it a go… :-)

            R 1 Reply Last reply Reply Quote 1
            • R Offline
              ronny3050 Module Developer @Phate
              last edited by

              @Phate said in Email:

              As soon as I get a chance I’ll give it a go…

              Let me know how it goes. There are a lot of problems, but I’d like you to test it. IMAP causes a lot of problems and isn’t as straightforward as I thought it would be! :(

              1 Reply Last reply Reply Quote 0
              • A Offline
                amanzimdwini @ronny3050
                last edited by

                @ronny3050

                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 unread

                I’ll have a look at your module once I sort one other problem on my MM2 out.

                R 1 Reply Last reply Reply Quote 1
                • R Offline
                  ronny3050 Module Developer @amanzimdwini
                  last edited by

                  @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.

                  A 1 Reply Last reply Reply Quote 0
                  • A Offline
                    amanzimdwini @ronny3050
                    last edited by

                    @ronny3050

                    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.

                    R 1 Reply Last reply Reply Quote 0
                    • R Offline
                      ronny3050 Module Developer @amanzimdwini
                      last edited by ronny3050

                      @amanzimdwini
                      That’s a good idea. Note:

                      1. Number of emails to display is customizable and the default is 5.
                      2. 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.

                      A 1 Reply Last reply Reply Quote 0
                      • A Offline
                        amanzimdwini @ronny3050
                        last edited by paviro

                        @ronny3050

                        Git pull was easy.
                        npm install yielded

                        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.
                        

                        I’ll go ahead, but thought you might want to know.


                        Note from admin: Please use Markdown on code and shell snippets!

                        R E 2 Replies Last reply Reply Quote 0
                        • R Offline
                          ronny3050 Module Developer @amanzimdwini
                          last edited by

                          @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.

                          A 1 Reply Last reply Reply Quote 1
                          • A Offline
                            amanzimdwini @ronny3050
                            last edited by paviro

                            @ronny3050

                            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!

                            R 1 Reply Last reply Reply Quote 0
                            • R Offline
                              ronny3050 Module Developer @amanzimdwini
                              last edited by

                              @amanzimdwini Yes, you should be all set! Thanks for the updates. :D

                              A 1 Reply Last reply Reply Quote 0
                              • A Offline
                                amanzimdwini @ronny3050
                                last edited by

                                @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:
                                0_1469426287738_upload-38a60756-5f8a-4933-b4f3-af564be8f683

                                Rebooted (just to be safe) - same result.

                                R 1 Reply Last reply Reply Quote 1
                                • R Offline
                                  ronny3050 Module Developer @amanzimdwini
                                  last edited by ronny3050

                                  @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
                                                    }
                                          }
                                  A 1 Reply Last reply Reply Quote 0
                                  • A Offline
                                    amanzimdwini @ronny3050
                                    last edited by

                                    @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

                                    R 3 Replies Last reply Reply Quote 0
                                    • R Offline
                                      ronny3050 Module Developer @amanzimdwini
                                      last edited by

                                      @amanzimdwini Could you please report the logs?

                                      1 Reply Last reply Reply Quote 0
                                      • R Offline
                                        ronny3050 Module Developer @amanzimdwini
                                        last edited by

                                        @amanzimdwini Also, if you’re using Gmail, you need to ‘set lower security for apps’ https://www.google.com/settings/security/lesssecureapps.

                                        cowboysdudeC 1 Reply Last reply Reply Quote 0
                                        • R Offline
                                          ronny3050 Module Developer @amanzimdwini
                                          last edited by

                                          @amanzimdwini It should be working now?

                                          A 1 Reply Last reply Reply Quote 1
                                          • A Offline
                                            amanzimdwini @ronny3050
                                            last edited by

                                            @ronny3050

                                            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)

                                            R 1 Reply Last reply Reply Quote 1

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 1 / 5
                                            • First post
                                              Last post
                                            Enjoying MagicMirror? Please consider a donation!
                                            MagicMirror created by Michael Teeuw.
                                            Forum managed by Sam, technical setup by Karsten.
                                            This forum is using NodeBB as its core | Contributors
                                            Contact | Privacy Policy