当前位置: 首页 > 知识库问答 >
问题:

我在使用nodemailer时出错

谢唯
2023-03-14
here's my UserController.js where i am receiving user email and password as a post request

const User = require('../models/User');
const nodemailer = require('nodemailer');

module.exports.User = (req, res) => {   
     if(req.body.password != req.body.confirm_password){
            res.redirect('back')
        }
        
    User.findOne({email: req.body.email}, function(err, user){
        //error in creating the user
        if(err){console.log('error in creating the user');}

        //if user doesnot initially exist in the daatbase
        if(!user){
            User.create(req.body, function(err, user){
                if(err){console.log('error');}
                console.log('User created');
            })
            return res.send('<script>alert("User created")</script>');
        }
        else{
            console.log('User already present in the database');
            let mailTransporter = nodemailer.createTransport({ 
                service: 'gmail', 
                host: 'smtp.gmail.com',
                auth: { 
                    email: 'my_email',
                    pass: 'my_email_password'
                } 
            }); 
              
            let mailDetails = { 
                from: 'my_email', 
                to: req.body.email, 
                subject: 'from dhruv singhal as a project', 
                text: 'your data is successfully stored on our database'
            }; 
              
            mailTransporter.sendMail(mailDetails, function(err, data) { 
                if(err) { 
                    console.log(err); 
                } else { 
                    console.log('Email sent successfully'); 
                } 
            });
            res.send('<script>alert("your have already got mail from our side")</script>')
        }
    })
}


i am getting error as :- 

/*错误:在SMTPConnection中缺少“PLAIN”的凭据。_formatError(C:\User\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-Connection\index.js:774: 19)在SMTPConnection.login(C:\User\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-Connection\index.js:438: 38)在C:\User\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-Transfer\index.js:271: 32在SMTPConnection。(C:\User\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-Connection\node_modules: 17)at O_onDataWrapper(web_development_project: 28)at SMTPCnode_modules(_onSocketData: 20)at SMTPConnection。_actionEHLO(C:\Us在此处输入代码ers\dhruv singhal\Desktop\web_development_project\node_modules\nodemailer\lib\smtp-Connection\web_development_project: 14)at SMTPConnection。_processResponse(C:\User\dhruv singhal\Desktop\web_development_project\index.js:209\nodemailer\lib\smtp-Connection\node_modules: 20)at SMTPConnection。bject.once(C:\User\dhruv singhal\Desktop\events.js:421\onnection.emit\nodemailer\lib\smtp-Connection\index.js:739: 14)at TLSSocket。SMTPConnection。events.js:315(C:\User\dhruv singhal\Desktop\index.js:1303\index.js:932\nodemailer\libReadable.push(_stream_readable.js:212: 10)在TLSWrap.onStreamRead(内部/stream_base_commons.js:186: 23){code:'EAUTH',命令:'API'}

i have enabled less secure apps on google please help

complete github code :-https://github.com/dhruv354/form.git*/

共有2个答案

广亮
2023-03-14

除了启用不太安全的应用程序之外,您是否完成了“验证码挑战”?

https://accounts.google.com/b/0/displayunlockcaptcha

邓毅
2023-03-14

而不是email:'my_email'我相信您需要user:'my_email'。请参阅此nodemailer示例

如另一个答案所述:在第一次从应用程序发送之前,请从相关的谷歌帐户中单击此项:https://accounts.google.com/DisplayUnlockCaptcha

 类似资料:
  • 问题内容: 我已经创建了一个简单的 应用程序(使用),带有联系表单,当用户单击“提交”时,我想生成并发送电子邮件。为此,我一直试图像这样使用: …但是我在导入过程中遇到了很多错误。 我是否在这里缺少某些东西,或者根本不是为在浏览器中使用而设计的?如果是这种情况,我应该考虑其他选择吗? 问题答案: node.js用于服务器端JavaScript,它允许您执行浏览器无法完成的许多工作。 除了mailt

  • 下面是我为nodemailer做的函数- 在这里,我已经在.env文件中给出了电子邮件id和密码,我正在下面使用这个功能。客户将从我的id获得一封邮件到他的电子邮件id中。 密码是正确的。但我遇到了这个错误- 错误:无效的登录名:534-5.7.9需要应用程序特定的密码。了解更多信息,请访问534 5.7.9 https://support.google.com/mail/?p=invalidse

  • 我在用NodeMailer发邮件。我一直在成功地使用我的gmail帐户发送电子邮件。我刚刚通过GoDaddy转到了我的域名自定义电子邮件。此电子邮件通过Hotmail运行。现在我已经做了这个切换,我得到的错误是:每次连接超时。Gmail还能用,但我不能用hotmail。 有什么解决方法吗?NodeMailer有什么更好的电子邮件选择吗? 这是我的设置:

  • egg.js 封装 nodeMailer 邮件发送类 文档:https://nodemailer.com/about/ [ ] 安装:npm install nodemailer --save [ ] 邮箱授权: 进入邮箱 》 设置 》 账户 》POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启POP3/SMYP服务,获取授权码 [ ] 使用nodemailer

  • Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。 功能 零依赖性的单个模块–由于没有死角,因此代码易于审核 高度重视安全性,没有人喜欢RCE漏洞 Unicode支持使用任何字符,包括表情符号 Windows支持 –您可以使用npm在Windows上,就像其他模块

  • 我在使用playframework 2.7运行sbt proguard时遇到此错误。3. 它说问题---不支持的类版本号[55.0](最大52.0,Java1.8)。我怎么才能摆脱这个?