Documentação da API
Acesso programático aos seus dados

API de encaminhamento de email

No momento, ainda não lançamos nenhum wrapper de API, mas planejamos fazê-lo em um futuro próximo. Envie um email para api@forwardemail.net se você quiser ser notificado quando o wrapper de API de uma linguagem de programação específica for lançado. Enquanto isso, você pode usar essas bibliotecas de solicitação HTTP recomendadas em seu aplicativo ou simplesmente usar ondulação como nos exemplos abaixo.

LínguaBiblioteca
Rubifaraday
Pitãosolicitações de
JavaOkHttp
PHPbeber
Javascriptsuperagente (somos mantenedores)
Node.jssuperagente (somos mantenedores)
Vainet / http
.NETRestSharp

O caminho de URI base HTTP atual é: https://api.forwardemail.net.

Todos os endpoints exigem sua Chave API para ser definido como o valor "username" da solicitação Autorização básica cabeçalho. Não se preocupe - os exemplos são fornecidos abaixo para você, se você não tiver certeza do que é isso.

Se ocorrer algum erro, o corpo da resposta da solicitação da API conterá uma mensagem de erro detalhada.

CódigoNome
200OK
400Pedido ruim
401Não autorizado
403Proibido
404Não encontrado
429Muitas solicitações
500Erro do Servidor Interno
501Não implementado
502Gateway incorreto
503Serviço indisponível
504Tempo limite do gateway
Dica: Se você receber um código de status 5xx (o que não deve acontecer), entre em contato conosco em api@forwardemail.net e nós o ajudaremos a resolver seu problema imediatamente.

Nosso serviço é traduzido para mais de 25 idiomas diferentes. Todas as mensagens de resposta da API são traduzidas para a última localidade detectada do usuário que está fazendo a solicitação da API. Você pode substituir isso passando um personalizado Accept-Language cabeçalho. Sinta-se à vontade para experimentá-lo usando o menu suspenso de idiomas na parte inferior desta página.

Se você deseja ser notificado quando a paginação estiver disponível, envie um e-mail api@forwardemail.net.

Criar Conta

POST /v1/account

Parâmetro do corpoRequeridosTipoDescrição
emailsimSeqüência de caracteres (e-mail)Endereço de e-mail
passwordsimCordaSenha

Solicitação de exemplo:

curl -X POST https://api.forwardemail.net/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Recupere a conta

GET /v1/account

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/account \
  -u API_TOKEN:

Atualizar conta

PUT /v1/account

Parâmetro do corpoRequeridosTipoDescrição
emailNãoSeqüência de caracteres (e-mail)Endereço de e-mail
given_nameNãoCordaPrimeiro nome
family_nameNãoCordaÚltimo nome
avatar_urlNãoString (URL)Link para a imagem do avatar

Solicitação de exemplo:

curl -X PUT https://api.forwardemail.net/v1/account \
  -u API_TOKEN: \
  -d "email=user%40gmail.com"

Verifique se você seguiu as instruções de configuração do seu domínio. Estas instruções podem ser encontradas em Minha conta → Domínios → Configurações → Configuração SMTP de saída. Você precisa garantir a configuração de DKIM, Return-Path e DMARC para enviar SMTP de saída com seu domínio.

Listar e-mails

Observe que este endpoint não retorna um e-mail já criado message, headers, accepted, nem rejectedErrors propriedades.

Para retornar essas propriedades e seus valores, use o Recuperar e-mail terminal com um ID de e-mail.

GET /v1/emails

Parâmetro de consultaRequeridosTipoDescrição
qNãoString (suportado por RegExp)Pesquise e-mails por metadados
domainNãoString (suportado por RegExp)Pesquise e-mails por nome de domínio

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/emails \
  -u API_TOKEN:

Criar e-mail

Nossa API para criar um e-mail é inspirada e aproveita a configuração de opção de mensagem do Nodemailer. Por favor, adie para o Configuração de mensagem do Nodemailer para todos os parâmetros corporais abaixo.

Note que com exceção de envelope e dkim (uma vez que os definimos automaticamente para você), oferecemos suporte a todas as opções do Nodemailer. Nós definimos automaticamente disableFileAccess e disableUrlAccess opções para true para fins de segurança.

Você deve passar a única opção de raw com seu e-mail completo, incluindo cabeçalhos ou passe as opções de parâmetros individuais do corpo abaixo.

POST /v1/emails

Parâmetro do corpoRequeridosTipoDescrição
fromNãoSeqüência de caracteres (e-mail)O endereço de e-mail do remetente (deve existir como um alias do domínio).
toNãoSequência ou matrizLista separada por vírgulas ou uma matriz de destinatários para o cabeçalho "Para".
ccNãoSequência ou matrizLista separada por vírgulas ou uma matriz de destinatários para o cabeçalho "Cc".
bccNãoSequência ou matrizLista separada por vírgulas ou uma matriz de destinatários para o cabeçalho "Bcc".
subjectNãoCordaO assunto do e-mail.
textNãoString ou BufferA versão em texto simples da mensagem.
htmlNãoString ou BufferA versão HTML da mensagem.
attachmentsNãoVariedadeUma matriz de objetos anexos (consulte Campos comuns do Nodemailer).
senderNãoCordaO endereço de e-mail para o cabeçalho "Remetente" (consulte Campos mais avançados do Nodemailer).
replyToNãoCordaO endereço de e-mail para o cabeçalho "Responder para".
inReplyToNãoCordaO Message-Id ao qual a mensagem está em resposta.
referencesNãoSequência ou matrizLista separada por espaços ou uma matriz de IDs de mensagens.
attachDataUrlsNãoboleanoSe true então converte data: imagens no conteúdo HTML da mensagem para anexos incorporados.
watchHtmlNãoCordaUma versão HTML específica do Apple Watch da mensagem (de acordo com os documentos do Nodemailer, os relógios mais recentes não exigem que isso seja definido).
ampNãoCordaUma versão HTML específica de AMP4EMAIL da mensagem (consulte Exemplo do Nodemailer).
icalEventNãoObjetoUm evento iCalendar para usar como um conteúdo de mensagem alternativo (consulte Eventos do calendário do Nodemailer).
alternativesNãoVariedadeUma matriz de conteúdo de mensagem alternativo (consulte Conteúdo alternativo do Nodemailer).
encodingNãoCordaCodificação para as strings de texto e HTML (o padrão é "utf-8", mas suporta "hex" e "base64" valores de codificação também).
rawNãoString ou BufferUma mensagem formatada RFC822 gerada de forma personalizada para usar (em vez de uma gerada pelo Nodemailer – consulte Fonte personalizada do Nodemailer).
textEncodingNãoCordaCodificação que é forçada a ser usada para valores de texto (seja "quoted-printable" ou "base64"). O valor padrãoéo valor mais próximo detectado (para uso ASCII "quoted-printable").
priorityNãoCordaNível de prioridade para o e-mail (pode ser "high", "normal" (padrão) ou "low"). Observe que um valor de "normal" não define um cabeçalho de prioridade (este é o comportamento padrão). Se um valor de "high" ou "low" está definido, então o X-Priority, X-MSMail-Priority, e Importance cabeçalhos será definido de acordo.
headersNãoObjeto ou MatrizUm objeto ou uma matriz de campos de cabeçalho adicionais para definir (consulte Cabeçalhos personalizados do Nodemailer).
messageIdNãoCordaUm valor Message-Id opcional para o cabeçalho "Message-Id" (um valor padrão será criado automaticamente se não for definido - observe que o valor deve aderir à especificação RFC2822).
dateNãoString ou DataUm valor de data opcional que será usado se o cabeçalho de data estiver ausente após a análise, caso contrário, a string UTC atual será usada se não for definida. O cabeçalho da data não pode ser mais de 30 dias antes da hora atual.
listNãoObjetoUm objeto opcional de List-* cabeçalhos (ver Cabeçalhos de lista do Nodemailer).

Solicitação de exemplo:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u API_TOKEN: \
  -d "from=alias@example.com" \
  -d "to=user%40gmail.com" \
  -d "subject=test" \
  -d "text=test"

Solicitação de exemplo:

curl -X POST https://api.forwardemail.net/v1/emails \
  -u API_TOKEN: \
  -d "raw=`cat file.eml`"

Recuperar e-mail

GET /v1/emails/:id

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/emails/:id \
  -u API_TOKEN:

Excluir e-mail

A exclusão de e-mail definirá o status como "rejected" (e subsequentemente não processá-lo na fila) se e somente se o status atual for um dos "pending", "queued", ou "deferred". Podemos limpar e-mails automaticamente após 30 dias após terem sido criados e/ou enviados - portanto, você deve manter uma cópia dos e-mails SMTP de saída em seu cliente, banco de dados ou aplicativo. Você pode fazer referência ao nosso valor de ID de e-mail em seu banco de dados, se desejar - esse valor é retornado de ambos Criar e-mail e Recuperar e-mail pontos de extremidade.

DELETE /v1/emails/:id

Solicitação de exemplo:

curl -X DELETE https://api.forwardemail.net/v1/emails/:id \
  -u API_TOKEN:

Dica: Endpoints de domínio com o nome de um domínio /v1/domains/:domain_name pois seus caminhos são intercambiáveis com o ID de um domínio :domain_id. Isso significa que você pode fazer referência ao domínio por seu name ou id valor.

Listar domínios

GET /v1/domains

Parâmetro de consultaRequeridosTipoDescrição
qNãoString (suportado por RegExp)Pesquise domínios por nome
nameNãoString (suportado por RegExp)Pesquise domínios por nome

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains \
  -u API_TOKEN:

Criar domínio

POST /v1/domains

Parâmetro do corpoRequeridosTipoDescrição
domainsimString (FQDN ou IP)Nome de domínio totalmente qualificado ("FQDN") ou endereço IP
planNãoString (enumerável)Tipo de plano (deve ser "free", "enhanced_protection", ou "team", padrão para "free" ou o plano pago atual do usuário, se estiver em um)
catchallNãoString (endereços de e-mail delimitados) ou BooleanoCrie um alias pega-tudo padrão, o padrão é true (E se true ele usará o endereço de e-mail do usuário da API como destinatário e, se false nenhum catch-all será criado). Se uma String for passada, então é uma lista delimitada de endereços de e-mail para usar como destinatários (separados por quebra de linha, espaço e/ou vírgula)
has_adult_content_protectionNãoboleanoSe deve ativar a proteção de conteúdo adulto do Spam Scanner neste domínio
has_phishing_protectionNãoboleanoSe a proteção contra phishing do Spam Scanner deve ser habilitada neste domínio
has_executable_protectionNãoboleanoSe deve habilitar a proteção executável do Spam Scanner neste domínio
has_virus_protectionNãoboleanoSe deve habilitar a proteção contra vírus do Spam Scanner neste domínio
has_recipient_verificationNãoboleanoPadrão de domínio global para exigir que os destinatários de alias cliquem em um link de verificação de e-mail para que os e-mails fluam

Solicitação de exemplo:

curl -X POST https://api.forwardemail.net/v1/domains \
  -u API_TOKEN: \
  -d domain=example.com \
  -d plan=free

Recuperar domínio

GET /v1/domains/example.com

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains/example.com \
  -u API_TOKEN:

Verificar registros de domínio

GET /v1/domains/example.com/verify-records

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains/example.com/verify-records \
  -u API_TOKEN:

Atualizar domínio

PUT /v1/domains/example.com

Parâmetro do corpoRequeridosTipoDescrição
smtp_portNãoString ou NumberPorta personalizada para configurar para encaminhamento SMTP (o padrão é "25")
has_adult_content_protectionNãoboleanoSe deve ativar a proteção de conteúdo adulto do Spam Scanner neste domínio
has_phishing_protectionNãoboleanoSe a proteção contra phishing do Spam Scanner deve ser habilitada neste domínio
has_executable_protectionNãoboleanoSe deve habilitar a proteção executável do Spam Scanner neste domínio
has_virus_protectionNãoboleanoSe deve habilitar a proteção contra vírus do Spam Scanner neste domínio
has_recipient_verificationNãoboleanoPadrão de domínio global para exigir que os destinatários de alias cliquem em um link de verificação de e-mail para que os e-mails fluam

Solicitação de exemplo:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
  -u API_TOKEN:

Excluir domínio

DELETE /v1/domains/:domain_name

Solicitação de exemplo:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name \
  -u API_TOKEN:

Aceitar convite de domínio

GET /v1/domains/:domain_name/invites

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Criar convite de domínio

POST /v1/domains/example.com/invites

Parâmetro do corpoRequeridosTipoDescrição
emailsimSeqüência de caracteres (e-mail)Endereço de email para convidar para a lista de membros do domínio
groupsimString (enumerável)Grupo para adicionar o usuário à associação de domínio (pode ser um dos "admin" ou "user")

Solicitação de exemplo:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/invites \
  -u API_TOKEN: \
  -d "email=user%40gmail.com" \
  -d group=admin

Remover convite de domínio

DELETE /v1/domains/:domain_name/invites

Parâmetro do corpoRequeridosTipoDescrição
emailsimSeqüência de caracteres (e-mail)Endereço de email para remover da lista de membros do domínio

Solicitação de exemplo:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/invites \
  -u API_TOKEN:

Atualizar membro do domínio

PUT /v1/domains/example.com/members/:member_id

Parâmetro do corpoRequeridosTipoDescrição
groupsimString (enumerável)Grupo para atualizar o usuário para a associação de domínio (pode ser um dos "admin" ou "user")

Solicitação de exemplo:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com/members/:member_id \
  -u API_TOKEN:

Remover membro do domínio

DELETE /v1/domains/:domain_name/members/:member_id

Solicitação de exemplo:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/members/:member_id \
  -u API_TOKEN:

Listar aliases de domínio

GET /v1/domains/example.com/aliases

Parâmetro de consultaRequeridosTipoDescrição
qNãoString (suportado por RegExp)Pesquise aliases em um domínio por nome, rótulo ou destinatário
nameNãoString (suportado por RegExp)Pesquise aliases em um domínio por nome
recipientNãoString (suportado por RegExp)Pesquisar aliases em um domínio por destinatário

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains/example.com/aliases \
  -u API_TOKEN:

Crie um novo alias de domínio

POST /v1/domains/example.com/aliases

Parâmetro do corpoRequeridosTipoDescrição
nameNãoCordaNome do alias (se não for fornecido ou se estiver em branco, um alias aleatório será gerado)
recipientsNãoSequência ou matrizLista de destinatários (deve ser separada por quebra de linha/espaço/vírgula String ou Array de endereços de e-mail válidos, nomes de domínio totalmente qualificados ("FQDN"), endereços IP e/ou URLs de webhook - e se não for fornecido ou for um vazio Array, o e-mail do usuário que faz a solicitação da API será definido como destinatário)
descriptionNãoCordaDescrição do alias
labelsNãoSequência ou matrizLista de etiquetas (deve ser String ou Matriz separadas por quebra de linha / espaço / vírgula)
has_recipient_verificationNãoboleanoSe deve ser ativado para exigir que os destinatários cliquem em um link de verificação de e-mail para que os e-mails fluam (o padrão é a configuração do domínio, se não for definido explicitamente no corpo da solicitação)
is_enabledNãoboleanoSe deve habilitar ou desabilitar este alias (se desabilitado, os e-mails não serão roteados para lugar nenhum, mas retornarão códigos de status bem-sucedidos). O padrão é true, mas se um valor for passado, ele será convertido em booleano usando boleano)

Solicitação de exemplo:

curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases \
  -u API_TOKEN:

Recuperar alias de domínio

Você pode recuperar um alias de domínio por seu id ou seu name valor.

GET /v1/domains/:domain_name/aliases/:alias_id

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN:

GET /v1/domains/:domain_name/aliases/:alias_name

Solicitação de exemplo:

curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_name \
  -u API_TOKEN:

Atualizar alias do domínio

PUT /v1/domains/example.com/aliases/:alias_id

Parâmetro do corpoRequeridosTipoDescrição
nameNãoCordaNome alternativo
recipientssimSequência ou matrizLista de destinatários (deve ser String ou matriz separada por vírgula / espaço / vírgula de endereços de email válidos, nomes de domínio totalmente qualificados ("FQDN"), endereços IP e / ou URLs de webhook)
descriptionNãoCordaDescrição do alias
labelsNãoSequência ou matrizLista de etiquetas (deve ser String ou Matriz separadas por quebra de linha / espaço / vírgula)
has_recipient_verificationNãoboleanoSe deve ser ativado para exigir que os destinatários cliquem em um link de verificação de e-mail para que os e-mails fluam (o padrão é a configuração do domínio, se não for definido explicitamente no corpo da solicitação)
is_enabledNãoboleanoSe você deseja desativar esse alias (se desativado, os e-mails não serão roteados para lugar nenhum, mas retornarão códigos de status bem-sucedidos)

Solicitação de exemplo:

curl -X PUT https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id \
  -u API_TOKEN:

Excluir alias do domínio

DELETE /v1/domains/:domain_name/aliases/:alias_id

Solicitação de exemplo:

curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
  -u API_TOKEN: