mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-10 02:46:53 +00:00
Add config flow to IMAP integration (#25656)
This commit is contained in:
parent
e30139e1ce
commit
adbc29f4fe
@ -9,72 +9,28 @@ ha_domain: imap
|
|||||||
ha_platforms:
|
ha_platforms:
|
||||||
- sensor
|
- sensor
|
||||||
ha_integration_type: integration
|
ha_integration_type: integration
|
||||||
|
ha_codeowners:
|
||||||
|
- '@engrbm87'
|
||||||
|
ha_config_flow: true
|
||||||
---
|
---
|
||||||
|
|
||||||
The `imap` integration is observing your [IMAP server](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) and reporting the amount of unread emails.
|
The IMAP integration is observing your [IMAP server](https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol) and reporting the number of unread emails. Other search criteria can be used, as shown in the example below.
|
||||||
|
|
||||||
## Configuration
|
{% include integrations/config_flow.md %}
|
||||||
|
|
||||||
To enable this sensor, add the following lines to your `configuration.yaml` file:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
# Example configuration.yaml entry
|
|
||||||
sensor:
|
|
||||||
- platform: imap
|
|
||||||
server: YOUR_IMAP_SERVER
|
|
||||||
username: YOUR_USERNAME
|
|
||||||
password: YOUR_PASSWORD
|
|
||||||
```
|
|
||||||
|
|
||||||
{% configuration %}
|
|
||||||
server:
|
|
||||||
description: The IP address or hostname of the IMAP server.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
port:
|
|
||||||
description: The port where the server is accessible.
|
|
||||||
required: false
|
|
||||||
default: 993
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
description: Name of the IMAP sensor.
|
|
||||||
required: false
|
|
||||||
type: string
|
|
||||||
username:
|
|
||||||
description: Username for the IMAP server.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
description: Password for the IMAP server.
|
|
||||||
required: true
|
|
||||||
type: string
|
|
||||||
folder:
|
|
||||||
description: The IMAP folder to watch.
|
|
||||||
required: false
|
|
||||||
default: inbox
|
|
||||||
type: string
|
|
||||||
search:
|
|
||||||
description: The IMAP search to perform on the watched folder.
|
|
||||||
required: false
|
|
||||||
default: UnSeen UnDeleted
|
|
||||||
type: string
|
|
||||||
charset:
|
|
||||||
description: The character set used for this connection.
|
|
||||||
required: false
|
|
||||||
default: utf-8
|
|
||||||
type: string
|
|
||||||
{% endconfiguration %}
|
|
||||||
|
|
||||||
### Gmail with App Password
|
### Gmail with App Password
|
||||||
|
|
||||||
If you’re going to use Gmail, it’s always good practice to create a [App Password](https://support.google.com/mail/answer/185833).
|
If you’re going to use Gmail, you need to create an [App Password](https://support.google.com/mail/answer/185833).
|
||||||
|
|
||||||
1. Go to your [Google Account](https://myaccount.google.com/)
|
1. Go to your [Google Account](https://myaccount.google.com/)
|
||||||
2. Select **Security**
|
2. Select **Security**
|
||||||
3. Under “Signing in to Google” select **App Passwords**
|
3. Under “Signing in to Google” select **App Passwords**
|
||||||
4. Sign in to your Account, and create a new App Password for Gmail.
|
4. Sign in to your Account, and create a new App Password for Gmail.
|
||||||
|
5. Then you can setup the intergation as below:
|
||||||
You can now use this as your password for Gmail, in your configuration.
|
- Server: `imap.gmail.com`
|
||||||
|
- Port: `993`
|
||||||
|
- Username: Your full email address
|
||||||
|
- Password: The new app password
|
||||||
|
|
||||||
### Configuring IMAP Searches
|
### Configuring IMAP Searches
|
||||||
|
|
||||||
@ -84,27 +40,12 @@ By default, this integration will count unread emails. By configuring the search
|
|||||||
* `FROM`, `TO`, `SUBJECT` to find emails in a folder (see [IMAP RFC for all standard options](https://tools.ietf.org/html/rfc3501#section-6.4.4))
|
* `FROM`, `TO`, `SUBJECT` to find emails in a folder (see [IMAP RFC for all standard options](https://tools.ietf.org/html/rfc3501#section-6.4.4))
|
||||||
* [Gmail's IMAP extensions](https://developers.google.com/gmail/imap/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!
|
* [Gmail's IMAP extensions](https://developers.google.com/gmail/imap/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
|
### Selecting a charset supported by the imap server
|
||||||
|
|
||||||
```yaml
|
Below is an example for setting up the integration to connect to your Microsoft 365 account that requires `US_ASCII` as charset:
|
||||||
# Example configuration.yaml entry for gmail
|
- Server: `outlook.office365.com`
|
||||||
sensor:
|
- Port: `993`
|
||||||
- platform: imap
|
- Username: Your full email address
|
||||||
server: imap.gmail.com
|
- Password: Your password
|
||||||
port: 993
|
- Charset: `US-ASCII`
|
||||||
username: YOUR_USERNAME
|
|
||||||
password: YOUR_PASSWORD
|
|
||||||
search: FROM <sender@email.com>, 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
|
|
||||||
sensor:
|
|
||||||
- platform: imap
|
|
||||||
server: outlook.office365.com
|
|
||||||
port: 993
|
|
||||||
username: email@address.com
|
|
||||||
password: password
|
|
||||||
search: FROM <sender@email.com>, SUBJECT <subject here>
|
|
||||||
charset: US-ASCII
|
|
||||||
```
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user