The imap integration is observing your IMAP server and reporting the amount of unread emails.


To enable this sensor, add the following lines to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: imap
    server: YOUR_IMAP_SERVER
    username: YOUR_USERNAME
    password: YOUR_PASSWORD

Configuration Variables

server string Required

The IP address or hostname of the IMAP server.

port integer (Optional, default: 993)

The port where the server is accessible.

name string (Optional)

Name of the IMAP sensor.

username string Required

Username for the IMAP server.

password string Required

Password for the IMAP server.

folder string (Optional, default: inbox)

The IMAP folder to watch.

search string (Optional, default: UnSeen UnDeleted)

The IMAP search to perform on the watched folder.

charset string (Optional, default: utf-8)

The character set used for this connection.

Gmail with App Password

If you’re going to use Gmail, it’s always good practice to create a App Password.

  1. Go to your Google Account
  2. Select Security
  3. Under “Signing in to Google” select App Passwords
  4. Sign in to your Account, and create a new App Password for Gmail.

You can now use this as your password for Gmail, in your configuration.

Configuring IMAP Searches

By default, this integration will count unread emails. By configuring the search string, you can count other results, for example:

  • ALL to count all emails in a folder
  • FROM, TO, SUBJECT to find emails in a folder (see IMAP RFC for all standard options)
  • Gmail’s IMAP extensions allow raw Gmail searches, like X-GM-RAW "in: inbox older_than:7d" to show emails older than one week in your inbox. Note that raw Gmail searches will ignore your folder configuration and search all emails in your account!

Full configuration sample with search

# Example configuration.yaml entry for gmail
  - platform: imap
    port: 993
    username: YOUR_USERNAME
    password: YOUR_PASSWORD
    search: FROM <[email protected]>, SUBJECT <subject here>
    # Or use X-GM-RAW search-term like this, to find unread emails from the last 7 days in your inbox
    # search: 'X-GM-RAW "in: inbox newer_than:7d is:unread"'

# Example configuration.yaml entry for Office 365
  - platform: imap
    port: 993
    username: [email protected]
    password: password
    search: FROM <[email protected]>, SUBJECT <subject here>
    charset: US-ASCII