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

基于Node.js搭建类Mailchimp邮件服务:批量发送需求求助

批量邮件服务搭建方案(替代Google单邮箱限制)

一、Google Workspace合规批量发送方案

普通Gmail账号单日发送限额仅500封,且不支持批量发件的负载分散,改用Google Workspace可以解决:

  • 配置群发邮件别名:创建专门的发件别名(如notify@yourdomain.com),关联多个Workspace账号,实现发送负载拆分,单日限额提升至2000封
  • 用Google Apps Script实现程序化发送:
    function sendBulkEmails() {
      const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("用户列表");
      const data = sheet.getDataRange().getValues();
      
      // 跳过表头行
      for (let i = 1; i < data.length; i++) {
        const [email, username] = data[i];
        const subject = "系统专属通知";
        const body = `您好${username},这是系统向您发送的批量通知邮件`;
        
        // 使用提前配置的Workspace别名发送
        MailApp.sendEmail({
          to: email,
          subject: subject,
          body: body,
          from: "批量通知 <notify@yourdomain.com>"
        });
        
        // 每发送10封暂停1分钟,规避Google的频率限制
        if (i % 10 === 0) {
          Utilities.sleep(60000);
        }
      }
    }
    
  • 必须完成域名的DKIM/SPF/DMARC验证,否则邮件会被标记为垃圾邮件

二、自建Postfix邮件服务器(高并发场景)

如果用户量较大(日均万级以上),自建服务器更灵活:

  • 搭建Postfix + Dovecot组合,配置反向解析、DKIM/SPF/DMARC记录,维护IP信誉(避免被邮件服务商拉黑)
  • Python批量发送脚本示例:
    import smtplib
    import time
    from email.mime.text import MIMEText
    
    def send_bulk_emails(user_list):
      smtp_server = "your-mail-server-domain.com"
      smtp_port = 587
      sender_addr = "notify@yourdomain.com"
      sender_pwd = "your-server-auth-password"
      
      with smtplib.SMTP(smtp_server, smtp_port) as server:
        server.starttls()
        server.login(sender_addr, sender_pwd)
        
        for user in user_list:
          msg = MIMEText(f"您好{user['username']},这是系统批量通知邮件", "plain", "utf-8")
          msg["Subject"] = "系统通知"
          msg["From"] = sender_addr
          msg["To"] = user["email"]
          
          server.send_message(msg)
          # 控制发送速率,避免触发服务器限制
          time.sleep(2)
    

三、第三方邮件API服务(中小规模首选)

无需维护服务器,自带高送达率,适合中小批量场景:

  • 用SendGrid/Mailgun等服务的批量发送接口,示例(SendGrid Python):
    import sendgrid
    from sendgrid.helpers.mail import Mail, To
    
    def send_bulk_notifications(user_list):
      sg = sendgrid.SendGridAPIClient(api_key="your-sendgrid-api-key")
      from_addr = "notify@yourdomain.com"
      
      # 构造批量收件人
      tos = [To(email=user["email"], name=user["username"]) for user in user_list]
      
      mail = Mail(
        from_email=from_addr,
        to_emails=tos,
        subject="系统批量通知",
        plain_text_content="您好,这是您的专属系统通知"
      )
      
      response = sg.send(mail)
      print(f"发送状态码: {response.status_code}")
    
  • 优势:自带发送统计、退订管理,无需维护IP信誉

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 13:43:36