Pular para conteúdo

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 STORE para 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.