- página de pesquisa
- Índice
API de e-mail
Bibliotecas
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íngua | Biblioteca |
---|---|
Rubi | faraday |
Pitão | solicitações de |
Java | OkHttp |
PHP | beber |
Javascript | superagente (somos mantenedores) |
Node.js | superagente (somos mantenedores) |
Vai | net / http |
.NET | RestSharp |
URI base
O caminho de URI base HTTP atual é: https://api.forwardemail.net
.
Autenticação
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.
Erros
Se ocorrer algum erro, o corpo da resposta da solicitação da API conterá uma mensagem de erro detalhada.
Código | Nome |
---|---|
200 | OK |
400 | Pedido ruim |
401 | Não autorizado |
403 | Proibido |
404 | Não encontrado |
429 | Muitas solicitações |
500 | Erro do Servidor Interno |
501 | Não implementado |
502 | Gateway incorreto |
503 | Serviço indisponível |
504 | Tempo limite do gateway |
Localização
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.
Paginação
Se você deseja ser notificado quando a paginação estiver disponível, envie um e-mail api@forwardemail.net.
Conta
Criar Conta
POST /v1/account
Parâmetro do corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
email | sim | Seqüência de caracteres (e-mail) | Endereço de e-mail |
password | sim | Corda | Senha |
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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
email | Não | Seqüência de caracteres (e-mail) | Endereço de e-mail |
given_name | Não | Corda | Primeiro nome |
family_name | Não | Corda | Último nome |
avatar_url | Não | Sequência (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"
E-mails
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.
Este endpoint retornará no máximo 50
resultados de cada vez. Se você quiser consultar várias páginas, anexe ?page=NUMBER
onde NUMBER
é um número inteiro, por ex. ?page=1
.
GET /v1/emails
Parâmetro de consulta | Requeridos | Tipo | Descrição |
---|---|---|---|
q | Não | String (suportado por RegExp) | Pesquise e-mails por metadados |
domain | Não | String (suportado por RegExp) | Pesquise e-mails por nome de domínio |
page | Não | Número | Página para retorno de resultados (o padrão é 1 ) |
`limite | Não | Número | Número de resultados por página a serem retornados (o padrão é 50 – o máximo é 50 e o mínimo é 10 ) |
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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
from | Não | Seqüência de caracteres (e-mail) | O endereço de e-mail do remetente (deve existir como um alias do domínio). |
to | Não | Sequência ou matriz | Lista separada por vírgulas ou uma matriz de destinatários para o cabeçalho "Para". |
cc | Não | Sequência ou matriz | Lista separada por vírgulas ou uma matriz de destinatários para o cabeçalho "Cc". |
bcc | Não | Sequência ou matriz | Lista separada por vírgulas ou uma matriz de destinatários para o cabeçalho "Bcc". |
subject | Não | Corda | O assunto do e-mail. |
text | Não | String ou Buffer | A versão em texto simples da mensagem. |
html | Não | String ou Buffer | A versão HTML da mensagem. |
attachments | Não | Variedade | Uma matriz de objetos anexos (consulte Campos comuns do Nodemailer). |
sender | Não | Corda | O endereço de e-mail para o cabeçalho "Remetente" (consulte Campos mais avançados do Nodemailer). |
replyTo | Não | Corda | O endereço de e-mail para o cabeçalho "Responder para". |
inReplyTo | Não | Corda | O Message-ID ao qual a mensagem está em resposta. |
references | Não | Sequência ou matriz | Lista separada por espaços ou uma matriz de IDs de mensagens. |
attachDataUrls | Não | boleano | Se true então converte data: imagens no conteúdo HTML da mensagem para anexos incorporados. |
watchHtml | Não | Corda | Uma 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). |
amp | Não | Corda | Uma versão HTML específica de AMP4EMAIL da mensagem (consulte Exemplo do Nodemailer). |
icalEvent | Não | Objeto | Um evento iCalendar para usar como um conteúdo de mensagem alternativo (consulte Eventos do calendário do Nodemailer). |
alternatives | Não | Variedade | Uma matriz de conteúdo de mensagem alternativo (consulte Conteúdo alternativo do Nodemailer). |
encoding | Não | Corda | Codificação para as strings de texto e HTML (o padrão é "utf-8" , mas suporta "hex" e "base64" valores de codificação também). |
raw | Não | String ou Buffer | Uma mensagem formatada RFC822 gerada de forma personalizada para usar (em vez de uma gerada pelo Nodemailer – consulte Fonte personalizada do Nodemailer). |
textEncoding | Não | Corda | Codificaçã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" ). |
priority | Não | Corda | Ní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. |
headers | Não | Objeto ou Matriz | Um objeto ou uma matriz de campos de cabeçalho adicionais para definir (consulte Cabeçalhos personalizados do Nodemailer). |
messageId | Não | Corda | Um 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). |
date | Não | String ou Data | Um 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. |
list | Não | Objeto | Um 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:
Domínios
/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 consulta | Requeridos | Tipo | Descrição |
---|---|---|---|
q | Não | String (suportado por RegExp) | Pesquise domínios por nome |
name | Não | String (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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
domain | sim | String (FQDN ou IP) | Nome de domínio totalmente qualificado ("FQDN") ou endereço IP |
plan | Não | String (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) |
catchall | Não | String (endereços de e-mail delimitados) ou Booleano | Crie 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_protection | Não | boleano | Se deve ativar a proteção de conteúdo adulto do Spam Scanner neste domínio |
has_phishing_protection | Não | boleano | Se a proteção contra phishing do Spam Scanner deve ser habilitada neste domínio |
has_executable_protection | Não | boleano | Se deve habilitar a proteção executável do Spam Scanner neste domínio |
has_virus_protection | Não | boleano | Se deve habilitar a proteção contra vírus do Spam Scanner neste domínio |
has_recipient_verification | Não | boleano | Padrã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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
smtp_port | Não | String ou Number | Porta personalizada para configurar para encaminhamento SMTP (o padrão é "25" ) |
has_adult_content_protection | Não | boleano | Se deve ativar a proteção de conteúdo adulto do Spam Scanner neste domínio |
has_phishing_protection | Não | boleano | Se a proteção contra phishing do Spam Scanner deve ser habilitada neste domínio |
has_executable_protection | Não | boleano | Se deve habilitar a proteção executável do Spam Scanner neste domínio |
has_virus_protection | Não | boleano | Se deve habilitar a proteção contra vírus do Spam Scanner neste domínio |
has_recipient_verification | Não | boleano | Padrã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:
Convida
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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
email | sim | Seqüência de caracteres (e-mail) | Endereço de email para convidar para a lista de membros do domínio |
group | sim | String (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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
email | sim | Seqüê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:
Membros
Atualizar membro do domínio
PUT /v1/domains/example.com/members/:member_id
Parâmetro do corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
group | sim | String (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:
Apelido
Listar aliases de domínio
GET /v1/domains/example.com/aliases
Parâmetro de consulta | Requeridos | Tipo | Descrição |
---|---|---|---|
q | Não | String (suportado por RegExp) | Pesquise aliases em um domínio por nome, rótulo ou destinatário |
name | Não | String (suportado por RegExp) | Pesquise aliases em um domínio por nome |
recipient | Não | String (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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
name | Não | Corda | Nome do alias (se não for fornecido ou se estiver em branco, um alias aleatório será gerado) |
recipients | Não | Sequência ou matriz | Lista 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) |
description | Não | Corda | Descrição do alias |
labels | Não | Sequência ou matriz | Lista de etiquetas (deve ser String ou Matriz separadas por quebra de linha / espaço / vírgula) |
has_recipient_verification | Não | boleano | Se 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_enabled | Não | boleano | Se 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 corpo | Requeridos | Tipo | Descrição |
---|---|---|---|
name | Não | Corda | Nome alternativo |
recipients | sim | Sequência ou matriz | Lista 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) |
description | Não | Corda | Descrição do alias |
labels | Não | Sequência ou matriz | Lista de etiquetas (deve ser String ou Matriz separadas por quebra de linha / espaço / vírgula) |
has_recipient_verification | Não | boleano | Se 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_enabled | Não | boleano | Se 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: