出海开发-实现Resend邮件发送能力

发布于 大约 1 个月前
30 次浏览
AI编程
出海

Resend.com 是一个专注于电子邮件 API 服务的平台,致力于帮助开发者和管理员高效发送及管理事务性邮件(如注册验证、密码重置、通知等)。官方网站:https://resend.com

一、概述

1. 主要功能

  • 电子邮件 API 提供简洁的 REST API,支持开发者将邮件发送功能无缝集成至应用(如 Node.js、Python、Ruby 等),支持 HTML 模板、动态变量和附件等功能。

  • 高送达率(Deliverability) 通过优化邮件服务器设置及认证(如 SPF、DKIM、DMARC),有效降低邮件被归类为垃圾邮件的可能性。

  • 实时日志与分析 提供邮件发送状态(成功/失败)、打开率、点击率等详细数据,便于用户监控和分析邮件效果。

  • 域名验证(Domain Verification) 支持绑定自定义域名(如 mail.yourdomain.com),增强品牌信任度。

2. 适用场景

  • 网站的用户注册/登录:发送验证码或欢迎邮件。
  • 网站的密码重置:提供安全链接或一次性验证码。
  • 网站的交易通知:发送订单确认或付款提醒。
  • 网站的营销邮件(需合规):发送新闻简讯或促销活动(需符合用户订阅要求)。

3. 与同类服务的对比

二、实施步骤

1.创建API Keys

首先到https://resend.com官网注册个账号,然后看图

然后点击 create API Key ,出现下图

点击Add 后出现下图

复制好这个Api Key,保存下来放到以后可以很容易找到的地方

2.使用smtp进行测试

到这个网站https://smtpserver.com/smtptest进行测试

  • onboarding@resend.dev 这个是测试用的,官方提供的测试发送邮箱
  • mailTo: 这个只能填自己在resend注册时候的邮箱,测试阶段往其他邮箱发邮件发不出去
  • password: 这里填上面申请的API KEY 然后就可以到resend里的email查看,如下图

3.使用自己的域名邮箱发送邮件

添加域名

然后把这些解析添加到你的域名托管商的DNS解析上,添加完成之后进行验证

然后就可以到使用smtp服务测试了,在test@gmail.com里就可以收到以你的域名邮箱发来的测试邮件了

三、代码开发

我是使用nextjs来实现应用,所以代码如下:

import { Resend } from 'resend';

// 检查 API 密钥是否已设置
if (!process.env.RESEND_API_KEY) {
    console.error('RESEND_API_KEY 未设置。邮件功能将不可用。');
    throw new Error('RESEND_API_KEY 环境变量未设置');
}

// 检查发件人邮箱是否已设置
if (!process.env.EMAIL_FROM) {
    console.error('EMAIL_FROM 未设置。邮件功能将不可用。');
    throw new Error('EMAIL_FROM 环境变量未设置');
}

// 创建 Resend 客户端
export const resend = new Resend(process.env.RESEND_API_KEY); 

发送邮件的代码

await resend.emails.send({
    to: user.email,
    from: process.env.EMAIL_FROM as string,
    subject: "Reset your password",
    html: `<div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; padding: 20px;">
            <h2 style="color: #6b46c1;">修改密码验证</h2>
            <p>您好,</p>
            <p>感谢您使用我们的服务修改密码。请点击下面的链接验证您的电子邮件地址:</p>
            <p style="margin: 20px 0;">
                <a href="${url}" style="background-color: #6b46c1; color: white; padding: 10px 15px; text-decoration: none; border-radius: 4px;">点击这里,验证邮件后修改密码</a>
            </p>
            <p>如果无法点击上面的按钮,请复制以下链接到浏览器地址栏:</p>
            <p>${url}</p>
            <p>如果您没有请求此验证,请忽略此电子邮件。</p>
            <p>此链接将在24小时后失效。</p>
        </div>`

关于我

一个喜欢折腾的程序员,现阶段关注技术变现,希望与更多有识之士做朋友!

快速链接

个人微信

个人微信

扫码添加个人微信

公众号

公众号

关注公众号获取最新资讯

© 2025 网站目录. 保留所有权利. 吉ICP备14002099号-2