NodeJS Outlook(应用程序)不呈现电子邮件的HTML

nr9pn0ug  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(123)

我正在使用nodemailer来验证注册网站的用户的电子邮件
What it looks like on the browser
What it looks like on the app
Nodemailer选项:

const nodemailer = require('nodemailer');
const transporter = nodemailer.createTransport({
    host: "smtp-mail.outlook.com",
    secureConnection: false,
    port: 587,
    tls:{
        ciphers:"SSLv3"
    },
    auth: {
        user: process.env.ACCOUNT_NAME,
        pass: process.env.ACCOUNT_PASS
    }
})

用户正确输入正确数据后发送电子邮件的函数:

function sendEmail(email,token){
    const mailOptions = {
        from: process.env.ACCOUNT_NAME,
        to: email,
        subject: "Vérifié votre email",
        html: '<html><body><form method="POST" action="https://test.com/verifEmail"><input type="hidden" value="'+token+'" id="IDtoken" name="IDtoken"/><input type="hidden" value="'+email+'" id="emailToken" name="emailToken"/><input value="Vérifiez votre email" type="submit"/></form></body></html>'
    }

    transporter.sendMail(mailOptions,(error,info) =>{
        if (error){
            console.log('error');
        } else {
            console.log('this shit works '+info.response);
        }
    })
}
9o685dep

9o685dep1#

Outlook不呈现按钮和窗体。为了使其发挥作用,最好生成一个链接,其中安全令牌位于链接的参数中

function sendEmail(email, token, place, message) {
  const mailOptions = {
    from: process.env.ACCOUNT_NAME,
    to: email,
    subject: message,
    html: '<html><body><a href="https://test.com/'+place+'?token='+token+'&email='+email+'">'+message+'</a></body></html>'
  }

  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      console.log('error');
    } else {
      console.log('this works '+info.response);
    }
  })
}

相关问题