Email IMAP
Resumo
- Usa o IMAP lib para trabalhar com e-mail
- Operações básicas de mensagem: busca, uids, números
- Atributos de mensagem de e-mail analisados
- Criador de consultas para critérios de pesquisa
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
server - required | string | | Servidor onde o e-mail está localizado. |
email - required | string | | E-mail para acessar. |
password - required | string | | Senha para acessar |
filter | string | | Critérios de pesquisa. Se não for preenchido, mostrará todos os e-mails. |
Trabalhando com filtros
- exemplos de filtros:
- Data na lista de datas (data=data1 OU data=data3 OU data=data2)
- (OR OR ON 1-Oct-2019 ON 10-Oct-2019 ON 15-Oct-2019)
- Data não está na lista de datas (NOT(date=date1 OR date=date3 OR date=date2))
- NOT ((OR OR ON 1-Oct-2019 ON 10-Oct-2019 ON 15-Oct-2019))
- Assunto contém "hello" E data maior ou igual a dt.date(2019, 10, 10)
- (SUBJECT "hello" SINCE 10-Oct-2019)
- From contém uma das partes do endereço
- (OR FROM "@spam.ru" FROM "@tricky-spam.ru")
- Marcado como visto e não sinalizado
- (SEEN UNFLAGGED)
- (O texto contém a tag15 E o assunto contém a tag15) OU (O texto contém a tag10 E o assunto contém a tag10)
- (OR (TEXT "tag15" SUBJECT "tag15") (TEXT "tag10" SUBJECT "tag10"))
- (O texto contém a tag15 OU o assunto contém a tag15) OU (O texto contém a tag10 OU o assunto contém a tag10)
- (OR (OR TEXT "tag15" SUBJECT "tag15") (OR TEXT "tag10" SUBJECT "tag10"))
- cabeçalho IsSpam contém '++' E cabeçalho CheckAntivirus contém '-'
- (HEADER "IsSpam" "++" HEADER "CheckAntivirus" "-")
- Intervalo UID
- (UID 1034:*)
- Complex do README
- ((OR FROM "[email protected]" TEXT "\\"the text\\"") NOT ((OR (UNANSWERED) (NEW))) TO "[email protected]")
Chave | Tipo | Comentários |
|---|---|---|
ANSWERED/UNANSWERED | bool | com/sem a bandeira Respondida |
SEEN/UNSEEN | bool | com/sem a bandeira Visto |
FLAGGED/UNFLAGGED | bool | com/sem a bandeira sinalizada |
DRAFT/UNDRAFT | bool | com/sem a bandeira Draft |
DELETED/UNDELETED | bool | com/sem o sinalizador excluído |
KEYWORD | str | com o sinalizador de palavra-chave especificado |
UNKEYWORD | str | sem o sinalizador de palavra-chave especificado |
FROM | str | contém o str especificado no campo FROM da estrutura do envelope |
TO | str | contém o str especificado no campo TO da estrutura do envelope |
SUBJECT | str | contém a string especificada no campo ASSUNTO da estrutura do envelope |
BODY | str | contém str especificado no corpo da mensagem |
TEXT | str | conter str especificado no cabeçalho ou corpo da mensagem |
BCC | str | contém o str especificado no campo BCC da estrutura do envelope |
CC | str | contém o str especificado no campo CC da estrutura do envelope |
ON | datetime.date | a data interna está dentro da data especificada |
SINCE | datetime.date | a data interna está dentro ou depois da data especificada |
BEFORE | datetime.date | a data interna é anterior à data especificada |
SENTON | datetime.date | rfc2822 Data: cabeçalho está dentro da data especificada |
SENTSINCE | datetime.date | rfc2822 Data: cabeçalho está dentro ou depois da data especificada |
SENTBEFORE | datetime.date | rfc2822 Data: o cabeçalho é anterior à data especificada |
LARGER | int >= 0 | rfc2822 tamanho maior que o número especificado de octetos |
SMALLER | int >= 0 | rfc2822 tamanho menor que o número especificado de octetos |
NEW | True | ter o sinalizador Recente definido, mas não o sinalizador Visto |
OLD | True | não tem o sinalizador recente definido |
RECENT | True | ter o sinalizador recente definido |
ALL | True | todos, critérios por padrão |
UID | iter(str)/str/U | correspondente ao conjunto de identificadores únicos especificado |
HEADER | H(str, str)* | tem um cabeçalho que contém a string especificada no texto |
X-GM-LABELS | str | tem esta etiqueta do gmail. |
Exemplos
tasks:
- name: filter retrieves emails based on a specific subject
email_imap:
server: email.example.com
email: [email protected]
password: 123abc
filter: '(SUBJECT "Teste")'
- name: filter retrieves emails based from a specific date
email_imap:
server: email.example.com
email: [email protected]
password: 123abc
filter: '(ON 08-Feb-2023)'
- name: filter retrieves emails based on a specific sender
email_imap:
server: email.example.com
email: [email protected]
password: 123abc
filter: '(FROM "[email protected]")'
- name: filter retrieves emails that been seen or unseen flagged or not
email_imap:
server: email.example.com
email: [email protected]
password: 123abc
filter: '(SEEN/UNSEEN FLAGGED/UNFLAGGED)'
- name: filter retrieves emails based on a specific subject on a specific date or later than the specified date
email_imap:
server: email.example.com
email: [email protected]
password: 123abc
filter: '(SUBJECT "Teste" SINCE 08-Feb-2023)'Valores Retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
uid | list / elements=string | sempre | São retornados três informações: data e hora, subtítulo e corpo do email. |