邮件发送接口使用说明

这是电邮公共 API。可通过 GET 或 POST 传递参数发送邮件。

说明:普通邮件可使用 GET 或 POST;如需上传附件,必须使用 POST,并设置 multipart/form-data。

一、基础参数

参数名是否必填说明
mailto是收件人邮箱,多个邮箱可用英文逗号、分号或空格分隔
subject是邮件主题
body是邮件正文,支持 HTML
cc否抄送邮箱,多个邮箱可用英文逗号、分号或空格分隔
bcc否密送邮箱,多个邮箱可用英文逗号、分号或空格分隔
reply_to否回复地址
from_name否发件人显示名,默认 Pro-Ivan
body_text否纯文本备用正文,不传时会自动从 HTML 正文生成
priority否邮件优先级:1 高,3 普通,5 低
attachments[]否附件,仅支持 POST 上传

二、GET 调用示例

https://你的域名/api/e-mail/?mailto=test@example.com&subject=测试邮件&body=这是一封测试邮件

三、POST 调用示例

curl -X POST "https://你的域名/api/e-mail/" \
  -F "mailto=test@example.com" \
  -F "subject=测试邮件" \
  -F "body=<b>这是一封测试邮件</b>"

四、POST 附件调用示例

curl -X POST "https://你的域名/api/e-mail/" \
  -F "mailto=test@example.com" \
  -F "subject=带附件测试" \
  -F "body=<b>这是一封带附件的测试邮件</b>" \
  -F "attachments[]=@/path/to/test.pdf" \
  -F "attachments[]=@/path/to/image.png"

五、HTML 表单示例

<form action="/api/e-mail/" method="post" enctype="multipart/form-data">
  收件人:<input type="email" name="mailto" required><br>
  主题:<input type="text" name="subject" required><br>
  正文:<textarea name="body" required></textarea><br>
  附件:<input type="file" name="attachments[]" multiple><br>
  <button type="submit">发送</button>
</form>

六、返回格式

发送接口返回 JSON:

{
  "ok": true,
  "message": "邮件发送成功",
  "to": ["test@example.com"],
  "cc": [],
  "bcc_count": 0,
  "attachments": 0
}