Ações de E-mail
Ações de e-mail são usadas para interagir com servidores de e-mail enviando e recebendo mensagens.
Para enviar e-mails é necessário ter uma credencial SMTP para o Mail Server, e para receber e-mails é necessário ter uma credencial IMAP ou POP3 para o Mail Server.
Importante: recomendamos o uso de conexões IMAP para recebimento de e-mails, pois este é um protocolo muito mais recente e oferece mais funcionalidades e melhor controle.
Ações
email.close
Fecha a conexão ativa com o Mail Server.
Parâmetros:
email_client - conexão do cliente com o Mail Server. As conexões são criadas usando email.create_imap_client ou email.create_pop_client
quit (opcional) - ao usar o cliente POP3, para persistir todos os e-mails lidos e exclusões, o parâmetro quit deve ser definido como True.
Retorna:
Esta ação não dá retorno.
Exceções:
Esta ação não oferece exceções.
email.create_imap_client
Crie uma nova conexão com o Mail Server, usando o protocolo IMAP.
Parâmetros:
user - usuário para autenticar com o Mail Server
password - senha para autenticar com o Mail Server
host - IP ou nome para conectar com o Mail Server
port (opcional) - porta no Mail Server usada para conexão IMAP (padrão=995).
default_folder (opcional) - nome da caixa de correio para iniciar a leitura (deafult='inbox').
Retorna:
email_client - email_client para ser usado em outras ações de e-mail.
emails_count - retorna o número total de e-mails em default_folder.
current_folder - nome da pasta atual.
Exceções:
Esta ação não oferece exceções.
email.create_pop_client
Crie uma nova conexão com o Mail Server, usando o protocolo POP3.
Parâmetros:
user - usuário para autenticar com o Mail Server
password - senha para autenticar com o Mail Server
host - IP ou nome para conectar com o Mail Server
port (opcional) - porta no Mail Server usada para conexão IMAP (padrão=995).
Retorna:
email_client - email_client para ser usado em outras ações de e-mail.
email_count - retorna o número total de e-mails em default_folder.
Exceções:
Esta ação não oferece exceções.
email.delete
Exclui a mensagem atual.
Parâmetros:
email_client - conexão do cliente com o Mail Server. As conexões são criadas usando email.create_imap_client ou email.create_pop_client
Retorna:
Esta ação não dá retorno.
Exceções:
Esta ação não oferece exceções.
email.find_attachments
Permite retornar todos os anexos do e-mail atual ou pesquisar um anexo específico por nome e/ou tipo MIME.
Parâmetros:
email_client - conexão do cliente com o Mail Server. As conexões são criadas usando email.create_imap_client ou email.create_pop_client
attach_name (opcional) - nome ou nome parcial do anexo a ser procurado (padrão=não filtrar por nome)
mime_type (opcional) - tipo mime para filtrar anexos (padrão=não filtrar por tipo mime)
only_attachments (opcional) - Definido como True incluirá arquivos definidos como anexos. Definido como False incluirá todos os arquivos, anexos e embutidos (padrão=True)
Retorna:
attachments - lista com todos os anexos que satisfazem a pesquisa.
attachments_count - número de anexos que satisfazem a pesquisa.
Exceções:
Esta ação não oferece exceções.
email.get_current_email
Retorna a mensagem de e-mail na posição atual no cliente de e-mail.
Parâmetros:
email_client - conexão do cliente com o Mail Server. As conexões são criadas usando email.create_imap_client ou email.create_pop_client
Retorna:
from - texto com nome (se definido) e endereço de e-mail do remetente da mensagem.
from_address - retorna apenas o endereço de e-mail do remetente da mensagem.
to - texto com nome (se definido) e endereço de e-mail dos destinatários.
subject - assunto da mensagem de e-mail.
date - dados e hora em que a mensagem foi enviada.
body - conteúdo da mensagem de e-mail como texto simples.
html_body - conteúdo da mensagem de e-mail como conteúdo HTML.
attachments_count - número de anexos na mensagem.
has_attachments - configuração de variável booleana se a mensagem de e-mail tem anexos ou não.
Exceções:
Esta ação não oferece exceções.
email.list_folders
Retorna uma lista de todas as pastas disponíveis na conta de e-mail conectada.
Parâmetros:
email_client - conexão do cliente com o Mail Server. As conexões são criadas usando email.create_imap_client ou email.create_pop_client
Retorna:
folders - lista com o nome de todas as pastas da conta de e-mail conectada.
Exceções:
Esta ação não oferece exceções.
email.move_to
Mova o e-mail atual para outra pasta existente da conta de e-mail.
Esta ação está disponível apenas para clientes IMAP.
Parâmetros:
email_client - conexão do cliente com o Mail Server. As conexões são criadas usando email.create_imap_client ou email.create_pop_client
to_folder - nome da pasta para onde a mensagem atual deve ser movida.
Ações de E-mail
Ações de e-mail permitem enviar e receber mensagens usando credenciais SMTP/IMAP/POP3.
Observação: apenas métodos anotados com @decorators.robotaction estão documentados aqui. Os retornos das ações viram variáveis de estado — por exemplo, se a ação retorna {'emails_count': 10} você acessa com $emails_count.
Para envio use SMTP; para recebimento recomendamos IMAP (mais recursos). Algumas ações só funcionam com IMAP — isso está indicado onde aplicável.
Métodos expostos
email.send_email
Envia uma mensagem usando SMTP.
Parâmetros:
- sender — e-mail do remetente (FROM).
- to — destinatários (string com ; ou lista).
- subject — assunto da mensagem.
- smtp_user — usuário SMTP.
- smtp_password — senha SMTP.
- smtp_server — host do servidor SMTP.
- smtp_port (opcional, default 25) — porta do servidor.
- tls (opcional, default False) — usar STARTTLS em vez de SSL.
- text (opcional) — corpo em texto simples.
- html (opcional) — corpo em HTML.
- attach_path (opcional) — caminho ou lista de caminhos para anexos (assets).
- signature_img (opcional) — imagem de assinatura (asset) embutida no HTML.
- no_auth (opcional) — se True, não faz login no servidor SMTP.
- to_cc / to_bcc (opcionais) — CC e BCC (string ou lista).
Retorno: nenhum (ação retorna vazio).
Exceções:
- AuthorizationException — falha na autenticação SMTP.
- MarvinRuntimeException — erros de comunicação com o servidor.
email.create_imap_client
Cria e conecta um cliente IMAP para leitura/gerenciamento de e-mails.
Parâmetros:
- user, password, host.
- port (opcional, default 995).
- default_folder (opcional, default 'inbox') — pasta inicial.
Retorno (variáveis de estado):
- email_client — objeto de conexão (usar nas demais ações).
- emails_count — número total de e-mails na pasta inicial.
- current_folder — nome da pasta atual (geralmente default_folder).
email.create_pop_client
Cria e conecta um cliente POP3.
Parâmetros:
- user, password, host.
- port (opcional, default 995).
Retorno:
- email_client — objeto de conexão.
- emails_count — número total de e-mails.
email.get_current_email
Retorna os campos do e-mail na posição atual do cliente.
Parâmetros:
- email_client — objeto retornado por create_imap_client/create_pop_client.
Retorno (variáveis de estado):
- from — remetente (nome + endereço quando disponível).
- from_address — somente endereço de e-mail do remetente.
- to — destinatários.
- subject — assunto.
- date — data/hora do envio.
- body — conteúdo em texto plano.
- html_body — conteúdo em HTML.
- attachments_count — número de anexos.
- has_attachments — booleano indicando existência de anexos.
email.next_email / email.previous_email
Navega para o próximo/anterior e retorna os mesmos campos de get_current_email.
Parâmetros:
- email_client.
Retorno:
- mesmo conjunto de chaves que get_current_email.
email.update_mailbox
Atualiza contagem e estado da mailbox (recarrega informações).
Parâmetros:
- email_client.
Retorno:
- emails_count — número total de e-mails na pasta atual.
email.delete
Deleta a mensagem atual (comportamento pode variar entre POP/IMAP).
Parâmetros:
- email_client.
Retorno:
- emails_count — novo total de e-mails na pasta.
email.close
Fecha a conexão ativa.
Parâmetros:
- email_client.
- quit (opcional) — para POP3 pode ser necessário usar quit=True para persistir alterações.
Retorno: nenhum.
email.list_folders
Lista as pastas disponíveis (IMAP).
Parâmetros:
- email_client.
Retorno:
- folders — lista de nomes de pastas.
email.select_folder
Altera a pasta atual (IMAP only).
Parâmetros:
- email_client, folder — nome da pasta.
Retorno:
- current_folder — nome da nova pasta.
- emails_count — número de e-mails na nova pasta.
email.search
Executa uma busca IMAP com filtro (IMAP only).
Parâmetros:
- email_client, search_filter — filtro conforme RFC3501.
Retorno:
- emails_count — total de e-mails resultantes/na pasta.
email.move_to
Mova a mensagem atual para outra pasta (IMAP only).
Parâmetros:
- email_client, to_folder — destino.
Retorno:
- emails_count — contagem atualizada.
email.store
Comando genérico IMAP
STOREpara flags/atributos específicos (IMAP only).
Parâmetros:
- email_client, message, value.
Retorno: nenhum.
email.find_attachments
Procura anexos no e-mail atual, filtrando por nome e/ou mime type.
Parâmetros:
- email_client, attach_name (opcional), mime_type (opcional), only_attachments (opcional, default True).
Retorno:
- attachments — lista de objetos de anexo.
- attachments_count — número de itens retornados.
email.save_attachment
Salva anexos do e-mail atual no file_path fornecido.
Parâmetros:
- email_client, file_path, attach_name (opcional), mime_type (opcional), only_attachments (opcional, default True).
Retorno:
- saved_files — lista de caminhos completos dos arquivos salvos.
Exceções:
- FileNotFoundException quando nenhum anexo é encontrado para os filtros.
Se desejar, adiciono exemplos curtos de uso (ex.: como ler $saved_files ou $attachments_count) ou corrijo pequenos problemas pontuais no código email.py.
Atualize as informações de contagem de e-mails e lista de e-mails dentro da pasta atual.