Vercel Email API

基于Vercel Serverless Functions的邮件发送服务,轻松集成到任何前端应用

功能特点

📧

稳定可靠

使用 Nodemailer 发送邮件,确保高送达率

🔄

多种格式

支持纯文本和 HTML 格式邮件

🌐

跨域支持

支持 CORS,可配置允许访问的域名

☁️

无服务器

部署在 Vercel 平台,无需维护服务器

🔒

安全特性

内置速率限制、请求验证等安全机制

📊

错误处理

完整的错误处理和日志记录

API 文档

请求地址

/api

请求参数

参数 类型 必填 说明
to string 收件人邮箱地址
subject string 邮件主题
text string 可选 纯文本内容(text和html至少提供一个)
html string 可选 HTML格式内容(text和html至少提供一个)
from_name string 发送者名称

响应格式

成功响应
错误响应
{
  "success": true,
  "messageId": "邮件ID"
}
{
  "error": "错误信息",
  "details": "详细错误信息"
}

使用示例

代码示例

Fetch API
Axios
jQuery
// 使用Fetch API发送邮件
const sendEmail = async () => {
  const response = await fetch('https://your-vercel-app.vercel.app/api', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      to: 'recipient@example.com',
      subject: '测试邮件',
      text: '这是一封测试邮件'
    })
  });
  
  const data = await response.json();
  return data.success ? data.messageId : Promise.reject(data.error);
}
// 使用Axios发送邮件
const sendEmail = async () => {
  const response = await axios.post('https://your-vercel-app.vercel.app/api', {
    to: 'recipient@example.com',
    subject: '测试邮件',
    text: '这是一封测试邮件'
  });
  
  return response.data.success ? response.data.messageId : Promise.reject(response.data.error);
}
// 使用jQuery发送邮件
function sendEmail() {
  return new Promise((resolve, reject) => {
    $.ajax({
      url: 'https://your-vercel-app.vercel.app/api',
      type: 'POST',
      contentType: 'application/json',
      data: JSON.stringify({
        to: 'recipient@example.com',
        subject: '测试邮件',
        text: '这是一封测试邮件'
      }),
      success: data => data.success ? resolve(data.messageId) : reject(data.error),
      error: (_, __, error) => reject(error)
    });
  });
}

测试发送邮件

使用下面的表单测试邮件发送功能: