- 搜索页面
- 目录
电子邮件接口
图书馆
目前我们还没有发布任何 API 包装器,但我们计划在不久的将来这样做。发送电子邮件至 api@forwardemail.net 如果您想在特定编程语言的 API 包装器发布时收到通知。同时,您可以在应用程序中使用这些推荐的 HTTP 请求库,或者简单地使用 卷曲 如下例所示。
语 | 图书馆 |
---|---|
红宝石 | 法拉第 |
Python | 要求 |
爪哇 | 好的HTTP |
PHP | 狂饮 |
JavaScript | 超级代理 (我们是维护者) |
节点.js | 超级代理 (我们是维护者) |
走 | 网络/http |
.NET | 休息夏普 |
基本URI
当前的 HTTP 基本 URI 路径是: https://api.forwardemail.net
.
验证
错误
如果发生任何错误,API 请求的响应正文将包含详细的错误消息。
代码 | 姓名 |
---|---|
200 | OK |
400 | 错误的请求 |
401 | 未经授权 |
403 | 禁止的 |
404 | 未找到 |
429 | 请求过多 |
500 | 内部服务器错误 |
501 | 未实现 |
502 | 错误的网关 |
503 | 暂停服务 |
504 | 网关超时 |
本土化
我们的服务被翻译成超过 25 种不同的语言。所有 API 响应消息都将转换为检测到的发出 API 请求的用户的最后一个语言环境。您可以通过传递自定义来覆盖它 Accept-Language
标题。随意使用本页底部的语言下拉菜单尝试一下。
分页
如果您想在分页可用时收到通知,请发送电子邮件 api@forwardemail.net.
帐户
创建账户
POST /v1/account
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
email | 是的 | 字符串(电子邮件) | 电子邮件地址 |
password | 是的 | 细绳 | 密码 |
示例请求:
curl -X POST https://api.forwardemail.net/v1/account \
-u API_TOKEN: \
-d "email=user%40gmail.com"
找回账号
GET /v1/account
示例请求:
curl https://api.forwardemail.net/v1/account \
-u API_TOKEN:
更新账户
PUT /v1/account
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
email | 不 | 字符串(电子邮件) | 电子邮件地址 |
given_name | 不 | 细绳 | 名 |
family_name | 不 | 细绳 | 姓 |
avatar_url | 不 | 字符串(网址) | 链接到头像图片 |
示例请求:
curl -X PUT https://api.forwardemail.net/v1/account \
-u API_TOKEN: \
-d "email=user%40gmail.com"
电子邮件
请确保您已按照您的域的设置说明进行操作。这些说明可以在 我的帐户 → 域 → 设置 → 出站 SMTP 配置.您需要确保设置 DKIM、返回路径和 DMARC,以便使用您的域发送出站 SMTP。
列出电子邮件
请注意,此端点不会返回已创建的电子邮件 message
, headers
, accepted
, 也不 rejectedErrors
特性。
要返回这些属性及其值,请使用 检索电子邮件 具有电子邮件 ID 的端点。
该端点最多返回 50
一次结果。如果要查询多个页面,则追加 ?page=NUMBER
在哪里 NUMBER
是一个整数,例如 ?page=1
.
GET /v1/emails
查询字符串参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
q | 不 | 字符串(支持正则表达式) | 按元数据搜索电子邮件 |
domain | 不 | 字符串(支持正则表达式) | 按域名搜索电子邮件 |
page | 不 | 数字 | 返回结果的页面(默认为 1 ) |
`限制 | 不 | 数字 | 每页返回的结果数(默认为 50 – 最大值是 50 最小值是 10 ) |
示例请求:
curl https://api.forwardemail.net/v1/emails \
-u API_TOKEN:
创建电子邮件
我们用于创建电子邮件的 API 受到并利用了 Nodemailer 的消息选项配置。请遵照 Nodemailer消息配置 对于以下所有身体参数。
请注意,除了 envelope
和 dkim
(因为我们会自动为您设置),我们支持所有 Nodemailer 选项。我们自动设置 disableFileAccess
和 disableUrlAccess
选项 true
出于安全目的。
你应该通过单一选项 raw
使用您的原始完整电子邮件,包括标题 或者 在下面传递单个身体参数选项。
POST /v1/emails
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
from | 不 | 字符串(电子邮件) | 发件人的电子邮件地址(必须作为域的别名存在)。 |
to | 不 | 字符串或数组 | “收件人”标题的逗号分隔列表或收件人数组。 |
cc | 不 | 字符串或数组 | “Cc”标题的逗号分隔列表或收件人数组。 |
bcc | 不 | 字符串或数组 | “密件抄送”标头的逗号分隔列表或收件人数组。 |
subject | 不 | 细绳 | 电子邮件的主题。 |
text | 不 | 字符串或缓冲区 | 消息的明文版本。 |
html | 不 | 字符串或缓冲区 | 消息的 HTML 版本。 |
attachments | 不 | 大批 | 一组附件对象(参见 Nodemailer 的常用字段). |
sender | 不 | 细绳 | “发件人”标题的电子邮件地址(请参阅 Nodemailer 的更高级字段). |
replyTo | 不 | 细绳 | “回复”标题的电子邮件地址。 |
inReplyTo | 不 | 细绳 | 消息回复的 Message-ID。 |
references | 不 | 字符串或数组 | 空格分隔的列表或消息 ID 的数组。 |
attachDataUrls | 不 | 布尔值 | 如果 true 然后转换 data: 将消息的 HTML 内容中的图像嵌入附件。 |
watchHtml | 不 | 细绳 | 消息的 Apple Watch 特定 HTML 版本(根据 Nodemailer 文档,最新的手表不需要设置)。 |
amp | 不 | 细绳 | 邮件的 AMP4EMAIL 特定 HTML 版本(请参阅 Nodemailer 的例子). |
icalEvent | 不 | 目的 | 用作备选消息内容的 iCalendar 事件(请参阅 Nodemailer 的日历事件). |
alternatives | 不 | 大批 | 可选消息内容的数组(请参阅 Nodemailer 的替代内容). |
encoding | 不 | 细绳 | 文本和 HTML 字符串的编码(默认为 "utf-8" , 但支持 "hex" 和 "base64" 编码值)。 |
raw | 不 | 字符串或缓冲区 | 要使用的自定义生成的 RFC822 格式的消息(而不是由 Nodemailer 生成的消息 - 请参阅 Nodemailer 的自定义源). |
textEncoding | 不 | 细绳 | 强制用于文本值的编码(要么 "quoted-printable" 或者 "base64" ).默认值是检测到的最接近值(用于 ASCII "quoted-printable" ). |
priority | 不 | 细绳 | 电子邮件的优先级(可以是 "high" , "normal" (默认),或 "low" ).请注意,值 "normal" 不设置优先级标头(这是默认行为)。如果一个值 "high" 或者 "low" 被设置,那么 X-Priority , X-MSMail-Priority , 和 Importance 标题 将相应地设置. |
headers | 不 | 对象或数组 | 要设置的附加标头字段的对象或数组(请参阅 Nodemailer 的自定义标头). |
messageId | 不 | 细绳 | “Message-ID”标头的可选 Message-ID 值(如果未设置,将自动创建默认值 - 请注意,该值应 遵守RFC2822规范). |
date | 不 | 字符串或日期 | 一个可选的日期值,如果在解析后缺少日期标头,将使用该值,否则如果未设置,将使用当前的 UTC 字符串。日期标题不能比当前时间早 30 天以上。 |
list | 不 | 目的 | 一个可选的对象 List-* 标头(见 Nodemailer 的列表标题). |
示例请求:
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"
示例请求:
curl -X POST https://api.forwardemail.net/v1/emails \
-u API_TOKEN: \
-d "raw=`cat file.eml`"
检索电子邮件
GET /v1/emails/:id
示例请求:
curl https://api.forwardemail.net/v1/emails/:id \
-u API_TOKEN:
删除电子邮件
电子邮件删除会将状态设置为 "rejected"
(并且随后不在队列中处理它)当且仅当当前状态是其中之一 "pending"
, "queued"
, 或者 "deferred"
.我们可能会在电子邮件创建和/或发送 30 天后自动清除它们——因此您应该在您的客户端、数据库或应用程序中保留一份出站 SMTP 电子邮件的副本。如果需要,您可以在您的数据库中引用我们的电子邮件 ID 值——该值从两者返回 创建电子邮件 和 检索电子邮件 端点。
DELETE /v1/emails/:id
示例请求:
curl -X DELETE https://api.forwardemail.net/v1/emails/:id \
-u API_TOKEN:
域
/v1/domains/:domain_name
因为它们的路径可以与域的 ID 互换 :domain_id
.这意味着您可以通过以下任一方式引用域 name
或者 id
价值。
列出域
GET /v1/domains
查询字符串参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
q | 不 | 字符串(支持正则表达式) | 按名称搜索域 |
name | 不 | 字符串(支持正则表达式) | 按名称搜索域 |
示例请求:
curl https://api.forwardemail.net/v1/domains \
-u API_TOKEN:
创建域
POST /v1/domains
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
domain | 是的 | 字符串(FQDN 或 IP) | 完全限定域名(“FQDN”)或 IP 地址 |
plan | 不 | 字符串(可枚举) | 计划类型(必须是 "free" , "enhanced_protection" , 或者 "team" , 默认为 "free" 或用户当前的付费计划(如果有的话) |
catchall | 不 | 字符串(分隔的电子邮件地址)或布尔值 | 创建一个默认的包罗万象的别名,默认为 true (如果 true 它将使用 API 用户的电子邮件地址作为收件人,如果 false 不会创建包罗万象的)。如果传递了字符串,则它是用作收件人的电子邮件地址的分隔列表(由换行符、空格和/或逗号分隔) |
has_adult_content_protection | 不 | 布尔值 | 是否在此域上启用 Spam Scanner 成人内容保护 |
has_phishing_protection | 不 | 布尔值 | 是否在此域上启用 Spam Scanner 网络钓鱼防护 |
has_executable_protection | 不 | 布尔值 | 是否在此域上启用垃圾邮件扫描程序可执行保护 |
has_virus_protection | 不 | 布尔值 | 是否在此域上启用 Spam Scanner 病毒防护 |
has_recipient_verification | 不 | 布尔值 | 全局域默认是否要求别名收件人单击电子邮件验证链接以使电子邮件流过 |
示例请求:
curl -X POST https://api.forwardemail.net/v1/domains \
-u API_TOKEN: \
-d domain=example.com \
-d plan=free
检索域
GET /v1/domains/example.com
示例请求:
curl https://api.forwardemail.net/v1/domains/example.com \
-u API_TOKEN:
验证域记录
GET /v1/domains/example.com/verify-records
示例请求:
curl https://api.forwardemail.net/v1/domains/example.com/verify-records \
-u API_TOKEN:
更新域
PUT /v1/domains/example.com
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
smtp_port | 不 | 字符串或数字 | 为 SMTP 转发配置的自定义端口(默认为 "25" ) |
has_adult_content_protection | 不 | 布尔值 | 是否在此域上启用 Spam Scanner 成人内容保护 |
has_phishing_protection | 不 | 布尔值 | 是否在此域上启用 Spam Scanner 网络钓鱼防护 |
has_executable_protection | 不 | 布尔值 | 是否在此域上启用垃圾邮件扫描程序可执行保护 |
has_virus_protection | 不 | 布尔值 | 是否在此域上启用 Spam Scanner 病毒防护 |
has_recipient_verification | 不 | 布尔值 | 全局域默认是否要求别名收件人单击电子邮件验证链接以使电子邮件流过 |
示例请求:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com \
-u API_TOKEN:
删除域
DELETE /v1/domains/:domain_name
示例请求:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name \
-u API_TOKEN:
邀请
接受域邀请
GET /v1/domains/:domain_name/invites
示例请求:
curl https://api.forwardemail.net/v1/domains/:domain_name/invites \
-u API_TOKEN:
创建域邀请
POST /v1/domains/example.com/invites
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
email | 是的 | 字符串(电子邮件) | 邀请加入域成员列表的电子邮件地址 |
group | 是的 | 字符串(可枚举) | 用于将用户添加到域成员身份的组(可以是其中之一 "admin" 或者 "user" ) |
示例请求:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/invites \
-u API_TOKEN: \
-d "email=user%40gmail.com" \
-d group=admin
删除域邀请
DELETE /v1/domains/:domain_name/invites
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
email | 是的 | 字符串(电子邮件) | 要从域成员列表中删除的电子邮件地址 |
示例请求:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/invites \
-u API_TOKEN:
会员
更新域成员
PUT /v1/domains/example.com/members/:member_id
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
group | 是的 | 字符串(可枚举) | 用于将用户更新为域成员身份的组(可以是其中之一 "admin" 或者 "user" ) |
示例请求:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com/members/:member_id \
-u API_TOKEN:
删除域成员
DELETE /v1/domains/:domain_name/members/:member_id
示例请求:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/members/:member_id \
-u API_TOKEN:
别名
列出域别名
GET /v1/domains/example.com/aliases
查询字符串参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
q | 不 | 字符串(支持正则表达式) | 按名称、标签或收件人搜索域中的别名 |
name | 不 | 字符串(支持正则表达式) | 按名称搜索域中的别名 |
recipient | 不 | 字符串(支持正则表达式) | 按收件人搜索域中的别名 |
示例请求:
curl https://api.forwardemail.net/v1/domains/example.com/aliases \
-u API_TOKEN:
创建新的域别名
POST /v1/domains/example.com/aliases
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
name | 不 | 细绳 | 别名(如果未提供或为空,则会生成随机别名) |
recipients | 不 | 字符串或数组 | 收件人列表(必须是换行符/空格/逗号分隔的字符串或有效电子邮件地址数组、完全限定的域名(“FQDN”)、IP 地址和/或 webhook URL——如果未提供或为空数组,则将发出API请求的用户邮箱设置为收件人) |
description | 不 | 细绳 | 别名说明 |
labels | 不 | 字符串或数组 | 标签列表(必须是换行符/空格/逗号分隔的字符串或数组) |
has_recipient_verification | 不 | 布尔值 | 是否启用要求收件人单击电子邮件验证链接以使电子邮件通过(如果未在请求正文中明确设置,则默认为域的设置) |
is_enabled | 不 | 布尔值 | 是否启用或禁用此别名(如果禁用,电子邮件将无处路由但返回成功状态代码)。默认为 true ,但是如果传递了一个值,它会被转换为一个布尔值,使用 布尔值) |
示例请求:
curl -X POST https://api.forwardemail.net/v1/domains/example.com/aliases \
-u API_TOKEN:
检索域别名
您可以通过其任一检索域别名 id
或其 name
价值。
GET /v1/domains/:domain_name/aliases/:alias_id
示例请求:
curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
-u API_TOKEN:
GET /v1/domains/:domain_name/aliases/:alias_name
示例请求:
curl https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_name \
-u API_TOKEN:
更新域别名
PUT /v1/domains/example.com/aliases/:alias_id
身体参数 | 必需的 | 类型 | 描述 |
---|---|---|---|
name | 不 | 细绳 | 别名 |
recipients | 是的 | 字符串或数组 | 收件人列表(必须是换行符/空格/逗号分隔的字符串或有效电子邮件地址数组、完全限定域名(“FQDN”)、IP 地址和/或 webhook URL) |
description | 不 | 细绳 | 别名说明 |
labels | 不 | 字符串或数组 | 标签列表(必须是换行符/空格/逗号分隔的字符串或数组) |
has_recipient_verification | 不 | 布尔值 | 是否启用要求收件人单击电子邮件验证链接以使电子邮件通过(如果未在请求正文中明确设置,则默认为域的设置) |
is_enabled | 不 | 布尔值 | 是否启用禁用此别名(如果禁用,电子邮件将无处路由,但返回成功的状态代码) |
示例请求:
curl -X PUT https://api.forwardemail.net/v1/domains/example.com/aliases/:alias_id \
-u API_TOKEN:
删除域别名
DELETE /v1/domains/:domain_name/aliases/:alias_id
示例请求:
curl -X DELETE https://api.forwardemail.net/v1/domains/:domain_name/aliases/:alias_id \
-u API_TOKEN: