API de correo electrónico

En este momento, aún no hemos lanzado ninguna envoltura de API, pero planeamos hacerlo en un futuro cercano. Enviar un correo electrónico a api@forwardemail.net si desea recibir una notificación cuando se publique el envoltorio API de un lenguaje de programación en particular. Mientras tanto, puede usar estas bibliotecas de solicitudes HTTP recomendadas en su aplicación, o simplemente usar rizo como en los siguientes ejemplos.

IdiomaBiblioteca
Rubífaraday
Pitónpeticiones
JavaOkHTTP
PHPengullir
javascriptsuperagente (somos mantenedores)
Nodo.jssuperagente (somos mantenedores)
Vamosnet / http
.NETDescanso agudo

La ruta de URI base HTTP actual es: https://api.forwardemail.net.

Todos los puntos finales requieren su Clave API para establecerse como el valor de "nombre de usuario" de la solicitud Autorización Básica encabezamiento. No se preocupe, a continuación se proporcionan ejemplos para usted si no está seguro de qué se trata.

Si ocurre algún error, el cuerpo de respuesta de la solicitud de API contendrá un mensaje de error detallado.

CódigoNombre
200OK
400Solicitud incorrecta
401No autorizado
403Prohibido
404Extraviado
429Demasiadas solicitudes
500error de servidor interno
501No se ha implementado
502Puerta de enlace incorrecta
503Servicio no disponible
504Tiempo de espera de puerta de enlace
Propina: Si recibe un código de estado 5xx (que no debería suceder), contáctenos en api@forwardemail.net y le ayudaremos a resolver su problema inmediatamente.

Nuestro servicio está traducido a más de 25 idiomas diferentes. Todos los mensajes de respuesta de API se traducen a la última configuración regional detectada del usuario que realiza la solicitud de API. Puede anular esto pasando un personalizado Accept-Language encabezamiento. Siéntase libre de probarlo usando el menú desplegable de idiomas en la parte inferior de esta página.

Si desea recibir una notificación cuando la paginación esté disponible, envíe un correo electrónico api@forwardemail.net.

Recuperar registros

Nuestra API le permite descargar registros para su cuenta mediante programación. Al enviar una solicitud a este punto final se procesarán todos los registros de su cuenta y se los enviarán por correo electrónico como un archivo adjunto (zip comprimido CSV archivo de hoja de cálculo) una vez completado.

Esto le permite crear trabajos en segundo plano con un trabajo cron o usando nuestro Software de programación de trabajos Node.js Bree para recibir registros cuando lo desee. Tenga en cuenta que este punto final se limita a 10 solicitudes por día.

El archivo adjunto es la forma minúscula de email-deliverability-logs-YYYY-MM-DD-h-mm-A-z.csv.gz y el correo electrónico en sí contiene un breve resumen de los registros recuperados. También puede descargar registros en cualquier momento desde Mi cuenta → Registros

GET /v1/logs/download

Parámetro de QuerystringNecesarioTipoDescripción
domainNoCadena (FQDN)Filtrar registros por dominio completo ("FQDN"). Si no proporciona esto, se recuperarán todos los registros de todos los dominios.
qNoCuerdaBusque registros por correo electrónico, dominio, nombre de alias, dirección IP o fecha (M/Y, M/D/YY, M-D, M-D-YY, o M.D.YY formato).

Solicitud de ejemplo:

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

Ejemplo de trabajo cron (a medianoche todos los días):

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download -u API_TOKEN: &>/dev/null

Tenga en cuenta que puede utilizar servicios como Crontab.guru para validar la sintaxis de expresión de su trabajo cron.

Ejemplo de trabajo cron (a medianoche todos los días) y con registros del día anterior):

Para Mac OS:

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download?q=`date -v-1d -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Para Linux y Ubuntu:

0 0 * * * /usr/bin/curl https://api.forwardemail.net/v1/logs/download?q=`date --date "-1 days" -u "+%-m/%-d/%y"` -u API_TOKEN: &>/dev/null

Crear una cuenta

POST /v1/account

Parámetro del cuerpoNecesarioTipoDescripción
emailsiCadena (correo electrónico)Dirección de correo electrónico
passwordsiCuerdaContraseña

Solicitud de ejemplo:

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

Recuperar cuenta

GET /v1/account

Solicitud de ejemplo:

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

Actualizar cuenta

PUT /v1/account

Parámetro del cuerpoNecesarioTipoDescripción
emailNoCadena (correo electrónico)Dirección de correo electrónico
given_nameNoCuerdaNombre de pila
family_nameNoCuerdaApellido
avatar_urlNoCadena (URL)Enlace a la imagen del avatar

Solicitud de ejemplo:

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

Asegúrese de haber seguido las instrucciones de configuración para su dominio. Estas instrucciones se pueden encontrar en Mi cuenta → Dominios → Configuración → Configuración de SMTP saliente. Debe asegurarse de la configuración de DKIM, Return-Path y DMARC para enviar SMTP saliente con su dominio.

Lista de correos electrónicos

Tenga en cuenta que este punto final no devuelve un correo electrónico ya creado. message, headers, accepted, ni rejectedErrors propiedades.

Para devolver esas propiedades y sus valores, utilice el recuperar correo electrónico punto final con un ID de correo electrónico.

Este punto final regresará como máximo 50 resultados a la vez. Si desea consultar varias páginas, agregue ?page=NUMBER dónde NUMBER es un número entero, p.e. ?page=1.

GET /v1/emails

Parámetro de QuerystringNecesarioTipoDescripción
qNoCadena (compatible con RegExp)Buscar correos electrónicos por metadatos
domainNoCadena (compatible con RegExp)Buscar correos electrónicos por nombre de dominio
pageNoNúmeroPágina para devolver resultados (el valor predeterminado es 1)
`limiteNoNúmeroNúmero de resultados por página a devolver (el valor predeterminado es 50 – el máximo es 50 y el mínimo es 10)

Solicitud de ejemplo:

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

Crear correo electrónico

Nuestra API para crear un correo electrónico se inspira y aprovecha la configuración de opciones de mensajes de Nodemailer. Por favor difiera a la Configuración de mensajes de Nodemailer para todos los parámetros del cuerpo a continuación.

Tenga en cuenta que con la excepción de envelope y dkim (dado que los configuramos automáticamente para usted), admitimos todas las opciones de Nodemailer. Configuramos automáticamente disableFileAccess y disableUrlAccess opciones para true para fines de seguridad.

Debe pasar la opción única de raw con su correo electrónico completo sin procesar, incluidos los encabezados o pase las opciones de parámetros de cuerpo individuales a continuación.

POST /v1/emails

Parámetro del cuerpoNecesarioTipoDescripción
fromNoCadena (correo electrónico)La dirección de correo electrónico del remitente (debe existir como un alias del dominio).
toNoCadena o matrizLista separada por comas o una matriz de destinatarios para el encabezado "Para".
ccNoCadena o matrizLista separada por comas o una matriz de destinatarios para el encabezado "Cc".
bccNoCadena o matrizLista separada por comas o una matriz de destinatarios para el encabezado "Bcc".
subjectNoCuerdaEl asunto del correo electrónico.
textNoCadena o búferLa versión de texto sin formato del mensaje.
htmlNoCadena o búferLa versión HTML del mensaje.
attachmentsNoFormaciónUna matriz de objetos adjuntos (ver Campos comunes de Nodemailer).
senderNoCuerdaLa dirección de correo electrónico para el encabezado "Remitente" (ver Los campos más avanzados de Nodemailer).
replyToNoCuerdaLa dirección de correo electrónico para el encabezado "Responder a".
inReplyToNoCuerdaEl Id. de mensaje al que responde el mensaje.
referencesNoCadena o matrizLista separada por espacios o una matriz de ID de mensaje.
attachDataUrlsNoBooleanoSi true luego convierte data: imágenes en el contenido HTML del mensaje a archivos adjuntos incrustados.
watchHtmlNoCuerdaUna versión HTML específica de Apple Watch del mensaje (de acuerdo con los documentos de Nodemailer, los últimos relojes no requieren este ajuste).
ampNoCuerdaUna versión HTML específica de AMP4EMAIL del mensaje (ver Ejemplo de Nodemailer).
icalEventNoObjetoUn evento de iCalendar para usar como contenido de mensaje alternativo (ver Eventos del calendario de Nodemailer).
alternativesNoFormaciónUna matriz de contenido de mensaje alternativo (ver Contenido alternativo de Nodemailer).
encodingNoCuerdaCodificación para el texto y las cadenas HTML (predeterminado en "utf-8", pero apoya "hex" y "base64" valores de codificación también).
rawNoCadena o búferUn mensaje personalizado con formato RFC822 para usar (en lugar de uno generado por Nodemailer; consulte Fuente personalizada de Nodemailer).
textEncodingNoCuerdaCodificación forzada a ser utilizada para valores de texto (ya sea "quoted-printable" o "base64"). El valor predeterminado es el valor más cercano detectado (para uso ASCII "quoted-printable").
priorityNoCuerdaNivel de prioridad para el correo electrónico (puede ser "high", "normal" (predeterminado), o "low"). Nótese que un valor de "normal" no establece un encabezado de prioridad (este es el comportamiento predeterminado). Si un valor de "high" o "low" se establece, entonces el X-Priority, X-MSMail-Priority, y Importance encabezados se establecerá en consecuencia.
headersNoObjeto o matrizUn objeto o una matriz de campos de encabezado adicionales para establecer (ver Cabeceras personalizadas de Nodemailer).
messageIdNoCuerdaUn valor de Id. de mensaje opcional para el encabezado "Id. de mensaje" (si no se establece, se creará automáticamente un valor predeterminado; tenga en cuenta que el valor debe adherirse a la especificación RFC2822).
dateNoCadena o fechaUn valor de fecha opcional que se usará si falta el encabezado de fecha después del análisis; de lo contrario, se usará la cadena UTC actual si no se establece. El encabezado de fecha no puede tener más de 30 días de anticipación a la hora actual.
listNoObjetoUn objeto opcional de List-* encabezados (ver Encabezados de lista de Nodemailer).

Solicitud de ejemplo:

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"

Solicitud de ejemplo:

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

recuperar correo electrónico

GET /v1/emails/:id

Solicitud de ejemplo:

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

Eliminar correo electrónico

La eliminación del correo electrónico establecerá el estado en "rejected" (y posteriormente no procesarlo en la cola) si y solo si el estado actual es uno de "pending", "queued", o "deferred". Es posible que eliminemos los correos electrónicos automáticamente después de 30 días de haberlos creado y/o enviado; por lo tanto, debe conservar una copia de los correos electrónicos SMTP salientes en su cliente, base de datos o aplicación. Puede hacer referencia a nuestro valor de ID de correo electrónico en su base de datos si lo desea; este valor se devuelve de ambos Crear correo electrónico y recuperar correo electrónico puntos finales

DELETE /v1/emails/:id

Solicitud de ejemplo:

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

Propina: Puntos finales de dominio con un nombre de dominio /v1/domains/:domain_name ya que su ruta es intercambiable con la ID de un dominio :domain_id. Esto significa que puede hacer referencia al dominio ya sea por su name o id valor.

Lista de dominios

GET /v1/domains

Parámetro de QuerystringNecesarioTipoDescripción
qNoCadena (compatible con RegExp)Buscar dominios por nombre
nameNoCadena (compatible con RegExp)Buscar dominios por nombre

Solicitud de ejemplo:

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

Crear dominio

POST /v1/domains

Parámetro del cuerpoNecesarioTipoDescripción
domainsiCadena (FQDN o IP)Nombre de dominio completo ("FQDN") o dirección IP
planNoCadena (enumerable)Tipo de plan (debe ser "free", "enhanced_protection", o "team", por defecto es "free" o el plan de pago actual del usuario si está en uno)
catchallNoCadena (direcciones de correo electrónico delimitadas) o booleanoCree un alias catch-all predeterminado, el valor predeterminado es true (si true utilizará la dirección de correo electrónico del usuario de la API como destinatario y, si false no se creará un catch-all). Si se pasa una cadena, entonces es una lista delimitada de direcciones de correo electrónico para usar como destinatarios (separadas por salto de línea, espacio y/o coma)
has_adult_content_protectionNoBooleanoYa sea para habilitar la protección de contenido para adultos Spam Scanner en este dominio
has_phishing_protectionNoBooleanoSi habilitar la protección contra phishing de Spam Scanner en este dominio
has_executable_protectionNoBooleanoSi habilitar la protección ejecutable de Spam Scanner en este dominio
has_virus_protectionNoBooleanoYa sea para habilitar la protección contra virus Spam Scanner en este dominio
has_recipient_verificationNoBooleanoDominio global predeterminado para solicitar a los destinatarios de alias que hagan clic en un enlace de verificación de correo electrónico para que fluyan los correos electrónicos
retention_daysNoNúmeroEntero entre 0 y 30 eso corresponde a la cantidad de días de retención para almacenar los correos electrónicos SMTP salientes una vez entregados exitosamente o con errores permanentes. El valor predeterminado es 0, lo que significa que los correos electrónicos SMTP salientes se eliminan y redactan inmediatamente por su seguridad.

Solicitud de ejemplo:

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

Recuperar dominio

GET /v1/domains/example.com

Solicitud de ejemplo:

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

Verificar registros de dominio

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

Solicitud de ejemplo:

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

Actualizar dominio

PUT /v1/domains/example.com

Parámetro del cuerpoNecesarioTipoDescripción
smtp_portNoCadena o númeroPuerto personalizado para configurar para el reenvío SMTP (el valor predeterminado es "25")
has_adult_content_protectionNoBooleanoYa sea para habilitar la protección de contenido para adultos Spam Scanner en este dominio
has_phishing_protectionNoBooleanoSi habilitar la protección contra phishing de Spam Scanner en este dominio
has_executable_protectionNoBooleanoSi habilitar la protección ejecutable de Spam Scanner en este dominio
has_virus_protectionNoBooleanoYa sea para habilitar la protección contra virus Spam Scanner en este dominio
has_recipient_verificationNoBooleanoDominio global predeterminado para solicitar a los destinatarios de alias que hagan clic en un enlace de verificación de correo electrónico para que fluyan los correos electrónicos
retention_daysNoNúmeroEntero entre 0 y 30 eso corresponde a la cantidad de días de retención para almacenar los correos electrónicos SMTP salientes una vez entregados exitosamente o con errores permanentes. El valor predeterminado es 0, lo que significa que los correos electrónicos SMTP salientes se eliminan y redactan inmediatamente por su seguridad.

Solicitud de ejemplo:

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

Eliminar dominio

DELETE /v1/domains/:domain_name

Solicitud de ejemplo:

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

Aceptar invitación de dominio

GET /v1/domains/:domain_name/invites

Solicitud de ejemplo:

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

Crear invitación de dominio

POST /v1/domains/example.com/invites

Parámetro del cuerpoNecesarioTipoDescripción
emailsiCadena (correo electrónico)Dirección de correo electrónico para invitar a la lista de miembros del dominio
groupsiCadena (enumerable)Grupo para agregar el usuario a la membresía del dominio (puede ser uno de "admin" o "user")

Solicitud de ejemplo:

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

Eliminar invitación de dominio

DELETE /v1/domains/:domain_name/invites

Parámetro del cuerpoNecesarioTipoDescripción
emailsiCadena (correo electrónico)Dirección de correo electrónico para eliminar de la lista de miembros del dominio

Solicitud de ejemplo:

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

Actualizar miembro de dominio

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

Parámetro del cuerpoNecesarioTipoDescripción
groupsiCadena (enumerable)Grupo para actualizar el usuario a la membresía del dominio con (puede ser uno de "admin" o "user")

Solicitud de ejemplo:

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

Eliminar miembro de dominio

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

Solicitud de ejemplo:

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

Listar alias de dominio

GET /v1/domains/example.com/aliases

Parámetro de QuerystringNecesarioTipoDescripción
qNoCadena (compatible con RegExp)Buscar alias en un dominio por nombre, etiqueta o destinatario
nameNoCadena (compatible con RegExp)Buscar alias en un dominio por nombre
recipientNoCadena (compatible con RegExp)Buscar alias en un dominio por destinatario

Solicitud de ejemplo:

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

Crear nuevo alias de dominio

POST /v1/domains/example.com/aliases

Parámetro del cuerpoNecesarioTipoDescripción
nameNoCuerdaNombre de alias (si no se proporciona o si está en blanco, se genera un alias aleatorio)
recipientsNoCadena o matrizLista de destinatarios (debe ser una cadena o matriz de direcciones de correo electrónico válidas, nombres de dominio completos ("FQDN"), direcciones IP y/o URL de webhook separadas por saltos de línea, espacios o comas, y si no se proporciona o está vacía Array, el correo electrónico del usuario que realiza la solicitud API se establecerá como destinatario)
descriptionNoCuerdaDescripción del alias
labelsNoCadena o matrizLista de etiquetas (debe ser un salto de línea / espacio / separados por comas de cadena o matriz)
has_recipient_verificationNoBooleanoRequerir que los destinatarios hagan clic en un enlace de verificación de correo electrónico para que los correos electrónicos fluyan (el valor predeterminado es la configuración del dominio si no se establece explícitamente en el cuerpo de la solicitud)
is_enabledNoBooleanoSi se habilita o deshabilita este alias (si se deshabilita, los correos electrónicos no se enrutarán a ninguna parte, pero devolverán códigos de estado exitosos). Si se pasa un valor, se convierte a booleano usando booleano)
has_imapNoBooleanoSi habilitar o deshabilitar el almacenamiento IMAP para este alias (si está deshabilitado, los correos electrónicos entrantes recibidos no se almacenarán en almacenamiento IMAP. Si se pasa un valor, se convierte a booleano usando booleano)
has_pgpNoBooleanoYa sea para habilitar o deshabilitar Cifrado OpenPGP para Almacenamiento de correo electrónico cifrado IMAP/POP3 usando el alias' public_key.
public_keyNoCuerdaClave pública OpenPGP en formato ASCII Armor (haga clic aquí para ver un ejemplo; p.ej. clave GPG para support@forwardemail.net). Esto sólo aplica si tienes has_pgp ajustado a true. Obtenga más información sobre el cifrado de extremo a extremo en nuestras preguntas frecuentes.

Solicitud de ejemplo:

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

Recuperar alias de dominio

Puede recuperar un alias de dominio ya sea por su id o su name valor.

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

Solicitud de ejemplo:

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

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

Solicitud de ejemplo:

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

Actualizar alias de dominio

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

Parámetro del cuerpoNecesarioTipoDescripción
nameNoCuerdaSobre nombre
recipientsNoCadena o matrizLista de destinatarios (debe ser un salto de línea / espacio / coma separados por cadenas o matrices de direcciones de correo electrónico válidas, nombres de dominio completos ("FQDN"), direcciones IP y / o URL de webhook)
descriptionNoCuerdaDescripción del alias
labelsNoCadena o matrizLista de etiquetas (debe ser un salto de línea / espacio / separados por comas de cadena o matriz)
has_recipient_verificationNoBooleanoRequerir que los destinatarios hagan clic en un enlace de verificación de correo electrónico para que los correos electrónicos fluyan (el valor predeterminado es la configuración del dominio si no se establece explícitamente en el cuerpo de la solicitud)
is_enabledNoBooleanoSi se habilita o deshabilita este alias (si se deshabilita, los correos electrónicos no se enrutarán a ninguna parte, pero devolverán códigos de estado exitosos)
has_imapNoBooleanoSi habilitar o deshabilitar el almacenamiento IMAP para este alias (si está deshabilitado, los correos electrónicos entrantes recibidos no se almacenarán en almacenamiento IMAP. Si se pasa un valor, se convierte a booleano usando booleano)
has_pgpNoBooleanoYa sea para habilitar o deshabilitar Cifrado OpenPGP para Almacenamiento de correo electrónico cifrado IMAP/POP3 usando el alias' public_key.
public_keyNoCuerdaClave pública OpenPGP en formato ASCII Armor (haga clic aquí para ver un ejemplo; p.ej. clave GPG para support@forwardemail.net). Esto sólo aplica si tienes has_pgp ajustado a true. Obtenga más información sobre el cifrado de extremo a extremo en nuestras preguntas frecuentes.

Solicitud de ejemplo:

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

Eliminar alias de dominio

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

Solicitud de ejemplo:

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