用 nodejs 发送邮件

Send mail with nodejs

对于一个学校项目,我必须建立一个网站和所有的东西... 我想在按下某个按钮时发送电子邮件。现在我为服务器使用了一个 gmail 地址,但它需要身份验证和所有。我怎样才能绕过身份验证?是否有其他一些不需要身份验证的 STMP 服务器,所以我可以轻松发送电子邮件?

谢谢大家!

你应该使用 Nodemailer

它是一个 npm 模块,安装好了。

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: 'youremail@gmail.com',
    pass: 'yourpassword'
  }
});

var mailOptions = {
  from: 'youremail@gmail.com',
  to: 'myfriend@yahoo.com',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

参考:https://www.w3schools.com/nodejs/nodejs_email.asp

var transporter = nodemailer.createTransport({
    host:'smtp.gmail.com',
    port:587,
    secure:false,
    auth: {
        user: 'youremail@gmail.com',
        pass: 'here app password'
    }
});


     url=`http://localhost:3000/verify-email/${token}`;
        let mailDetails={
            from:'"verify Your Email"< youremail@gmail.com>',
            to:user.email,       //receiver email address
            subject:'Register Verify Your Email',
            html:`<h2>${user.fullname} thanks for register on our site </h2>
                    <h4>please verfiy your mail to continue....</h4>
                    <a href="${url}">verfiy your Email</a>`
        }

        transporter.sendMail(mailDetails,function(err,data){
           
                if(err){
                    console.log('error ocures..',err)
                }else{
                    console.log('verfify email is sent to your account');
                }
       
        })