当新订阅者通过 Mailchimp 加入列表时发送电子邮件通知 API

Send email notification when a new subscriber joins list via Mailchimp API

我正在尝试在用户注册到我的邮寄列表时收到电子邮件通知。

这是一个与 Mailchimp API 集成的简单表单,但是当用户注册时我没有收到电子邮件,用户也没有收到 "welcome" 电子邮件。我相信这与双重选择加入有关,但我想让它变得简单。

我考虑过使用 webhooks 然后使用 sendgrid 之类的东西发送自定义电子邮件,但后来我想我不能使用 Mailchimps 标准模板。

有没有简单的解决方案?

显然,如果您启用了双重选择表单,Mailchimp 只会发送通知电子邮件。

因此,如果您使用 API,它不会触发响应。

我的解决方案是使用 Mailchimp Webhooks ping 我的快递服务器然后给我发电子邮件。

const nodemailer = require('nodemailer')

app.post('/mailchimp-webhook', (req, res) => {
  console.log(req.body['data[email]'])
  console.log('webhook')
  let transporter = nodemailer.createTransport({
    service: 'gmail',
    port: 465,
    secure: true, // secure:true for port 465, secure:false for port 587
    auth: {
      user: process.env.GMAIL_USERNAME,
      pass: process.env.GMAIL_PASSWORD
    }
  })

  let mailOptions = {
    from: '"Email Notifications " <email@address.com>', // sender address
    to: 'email@addresss.com', // list of receivers
    subject: 'You have a new subscriber!', // Subject line
    text: `${req.body['data[email]']}`, // plain text body
    html: `${req.body['data[email]']}` // html body
  }

  transporter.sendMail(mailOptions, (error, info) => {
    if (error) return console.log(error, 'error')
    else console.log(info, 'here')
  })
})

这使用 Nodemailer NPM Module 发送电子邮件和 GMAIL 作为服务,可以是 mailgun 或 sendgrid 等