You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求推荐无域名要求的免费SMTP服务(Node+nodemailer密码重置场景)

无需域名的免费SMTP服务推荐(适配Node.js + Nodemailer)

针对你的个人PET项目密码重置需求,以下是几款无需绑定自有域名的免费SMTP服务,均能与Nodemailer兼容:

  • SendGrid 免费版:

    • 配额:每天100封邮件,足够个人项目使用
    • 无需自有域名,可使用平台默认发件地址(如no-reply@sendgrid.net)
    • Nodemailer配置时,SMTP用户名固定为apikey,密码为你在SendGrid后台生成的API密钥,端口587
  • Mailgun 沙箱模式:

    • 配额:每月5000封邮件
    • 使用平台提供的沙箱域名(如sandboxxxx.mailgun.org)发件,无需自有域名,但需将收件人邮箱提前添加到后台授权列表(适合测试或小范围用户场景)
    • SMTP参数直接使用Mailgun后台提供的配置即可
  • Postmark 免费版:

    • 配额:初始10000封额度,之后每月1000封
    • 支持使用平台默认域名发件,无需绑定自有域名
    • SMTP配置简单,参数可直接从Postmark后台获取
  • Brevo(原Sendinblue)免费版:

    • 配额:每天300封邮件
    • 无需自有域名,可使用平台提供的发件地址
    • 与Nodemailer兼容性良好,SMTP配置流程直观

示例:SendGrid + Nodemailer 配置代码

const nodemailer = require('nodemailer');

async function sendPasswordResetEmail(userEmail, resetToken) {
  // 初始化SMTP transporter
  const transporter = nodemailer.createTransport({
    host: 'smtp.sendgrid.net',
    port: 587,
    secure: false, // 587端口用false,465端口用true
    auth: {
      user: 'apikey',
      pass: '你的SendGrid API密钥'
    }
  });

  // 发送邮件
  const mailOptions = {
    from: 'no-reply@sendgrid.net',
    to: userEmail,
    subject: '账户密码重置请求',
    text: `请点击以下链接重置你的密码:http://your-project-url/reset?token=${resetToken}`,
    html: `<p>请点击<a href="http://your-project-url/reset?token=${resetToken}">这里</a>重置你的密码</p>`
  };

  try {
    const info = await transporter.sendMail(mailOptions);
    console.log('重置邮件已发送:', info.messageId);
  } catch (error) {
    console.error('邮件发送失败:', error);
  }
}

// 调用示例
sendPasswordResetEmail('user@example.com', 'your-reset-token');

内容的提问来源于stack exchange,提问作者dbUser11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 17:29:58