标签: nodemailer

带有Gmail和NodeJS的Nodemailer

我尝试使用nodemailer使用NodeJS实现联系表单,但它只适用于本地,它不能在远程服务器上运行...

我的错误信息:

[website.fr-11 (out) 2013-11-09T15:40:26] { [AuthError: Invalid login - 534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvlX
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 V-dFQLgb7aRCYApxlOBuha5ESrQEbRXK0iVtOgBoYeARpm3cLZuUS_86kK7yPis7in3dGC
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 N1sqhr3D2IYxHAN3m7QLJGukwPSZVGyhz4nHUXv_ldo9QfqRydPhSvFp9lnev3YQryM5TX
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 XL1LZuJL7zCT5dywMVQyWqqg9_TCwbLonJnpezfBLvZwUyersknTP7L-VAAL6rhddMmp_r
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 A_5pRpA> Please log in via your web browser and then try again.
[website.fr-11 (out) 2013-11-09T15:40:26] 534-5.7.14 Learn more at https://support.google.com/mail/bin/answer.py?answer=787
[website.fr-11 (out) 2013-11-09T15:40:26] 534 5.7.14 54 fr4sm15630311wib.0 - gsmtp]
[website.fr-11 (out) 2013-11-09T15:40:26]   name: 'AuthError',
[website.fr-11 (out) 2013-11-09T15:40:26]   data: '534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvlX\r\n534-5.7.14 V-dFQLgb7aRCYApxlOBuha5ESrQEbRXK0iVtOgBoYeARpm3cLZuUS_86kK7yPis7in3dGC\r\n534-5.7.14 N1sqhr3D2IYxHAN3m7QLJGukwPSZVGyhz4nHUXv_ldo9QfqRydPhSvFp9lnev3YQryM5TX\r\n534-5.7.14 XL1LZuJL7zCT5dywMVQyWqqg9_TCwbLonJnpezfBLvZwUyersknTP7L-VAAL6rhddMmp_r\r\n534-5.7.14 A_5pRpA> Please log in via your …
Run Code Online (Sandbox Code Playgroud)

javascript node.js nodemailer

92
推荐指数
16
解决办法
11万
查看次数

不允许POST请求 - 405 Not Allowed - nginx,即使包含头文件也是如此

我在尝试在我的应用程序中执行POST请求时遇到问题并且我搜索了很多,但是我找不到解决方案.

所以,我有一个nodeJS应用程序和一个网站,我正在尝试使用此站点的表单进行POST请求,但我总是这样做:

在此输入图像描述

在控制台中我看到:

    Uncaught TypeError: Cannot read property 'value' of null 
Post "http://name.github.io/APP-example/file.html " not allowed
Run Code Online (Sandbox Code Playgroud)

在这行代码中:

file.html:

<form id="add_Emails" method ="POST" action="">

    <textarea rows="5" cols="50" name="email">Put the emails here...
    </textarea>

        <p>
        <INPUT type="submit" onclick="sendInvitation()" name='sendInvitationButton' value ='Send Invitation'/>
        </p>


</form>

<script src="scripts/file.js"></script>
Run Code Online (Sandbox Code Playgroud)

file.js:

function sendInvitation(){

    var teammateEmail= document.getElementById("email").value;
Run Code Online (Sandbox Code Playgroud)

我阅读了很多帖子和跨域文档,但它没有用.研究来源1:http://enable-cors.org/server.html 研究来源2:http://www.w3.org/TR/2013/CR-cors-20130129/#http-access-control-max-年龄

我现在在做什么:

我正在尝试从我的服务器的不同域POST:

POST REQUEST: http://name.github.io/APP-example/file.html,github repository

POST LISTENER:" http://xxx.xxx.x.xx:9000/email,server localhost(x->我的ip地址)

所以,我在其他文件中遇到了同样的问题,但是我修复了它将这段代码放在每条路径的开头:

var express = require('express');
var sha1 = require('sha1'); 

var router …
Run Code Online (Sandbox Code Playgroud)

nginx cross-domain node.js express nodemailer

43
推荐指数
2
解决办法
10万
查看次数

如何在heroku中显示来自node.js的所有console.log?

我已经将node.js应用程序部署到node.js,但无法从我的应用程序中看到完整的console.log语句.我在用:

heroku logs
Run Code Online (Sandbox Code Playgroud)

显示了一些日志记录,但看起来它不是完整的日志.是否有node.js包来从已部署的应用程序发送电子邮件?电子邮件在我的本地机器上工作正常.

电邮代码:

console.log('try to send email hold on');
    var nodemailer = require("nodemailer");
    var smtpTransport = nodemailer.createTransport({
        service: "Gmail",
        auth: {
            user: "myemail@gmail.com",
            pass: "mypw"
        }
    });

    smtpTransport.sendMail({
        from: "Dikkebil", // sender address
        to: "myemail@gmail.com", // comma separated list of receivers
        subject: "Error body", // Subject line
        text: 'Error body: ' +error.body+ '\n'+ 'error type:' + error.type +'\n' +'error statuscode:' +error.statusCode +'\n'  + 'error args:' + error.arguments[0]
    }, function(error, response){
        if(error){
            console.log(error);
        }else{
            console.log("Message sent: " + response.message); …
Run Code Online (Sandbox Code Playgroud)

heroku node.js nodemailer

37
推荐指数
2
解决办法
2万
查看次数

Nodemailer/Gmail - 什么是刷新令牌,我该如何获得?

我正在尝试在节点应用程序中使用一个简单的联系表单nodemailer.我希望所有的msg都是从我为此目的制作的Gmail帐户发送到我的个人邮件.

在客户端,我所做的就是获取客户的名称/邮件/消息并将其发送到服务器.它在本地工作正常但在部署时无法工作(在heroku btw上).

快速搜索后,看来我必须生成一个ClientIdClientSecret来自谷歌开发者控制台-我做到了-但是,当涉及到产生"刷新令牌" iI'm完全丧失.

    var smtpTransport = nodemailer.createTransport("SMTP",{
        service:"Gmail",
        auth:{
            XOAuth2: {
                user:"myaccount@gmail.com",
                clientId:"",
                clientSecret:"",
                refreshToken:""
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

我很困惑:什么是刷新令牌,我该如何获得?

email gmail token node.js nodemailer

28
推荐指数
2
解决办法
2万
查看次数

使用nodemailer通过Node.js发送电子邮件不起作用

我已经在本地(http://localhost:8080)设置了一个基本的NodeJS服务器(使用nodemailer模块),这样我就可以测试服务器是否可以实际发送电子邮件了.

如果我理解正确的SMTP选项(请纠正我,如果我错了),我可以尝试从我的服务器发送电子邮件给某人的电子邮件帐户直接,或者我可以发送电子邮件,仍然使用Node.js的,但通过实际的电子邮件帐户(在这种情况下是我的个人Gmail帐户),即使用SMTP.此选项要求我通过NodeJS远程登录该帐户.

因此,在下面的服务器中,我实际上是尝试使用NodeJ从我的个人电子邮件帐户向我的个人电子邮件帐户发送电子邮件.

这是我的简单服务器:

var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport("SMTP", {
    service: 'Gmail',
    auth: {
        user: '*my personal Gmail address*',
        pass: '*my personal Gmail password*'
    }
});

var http = require('http');
var httpServer = http.createServer(function (request, response)
{
    transporter.sendMail({
       from: '*my personal Gmail address*',
       to: '*my personal Gmail address*',
       subject: 'hello world!',
       text: 'hello world!'
    });
}).listen(8080);
Run Code Online (Sandbox Code Playgroud)

但是,它不起作用.我收到了谷歌的一封电子邮件说:

Google帐户:登录尝试已被阻止如果是您的话您可以切换到Google制作的应用程序(如Gmail)来访问您的帐户(推荐)或更改您的设置,网址https://www.google.com/settings/security/ lesssecureapps,以便您的帐户不再受现代安全标准的保护.

我在nodemailer GitHub页面上找不到上述问题的解决方案.有没有人有解决方案/建议?

谢谢!:-)

email smtp node.js nodemailer

26
推荐指数
5
解决办法
6万
查看次数

通过nodemailer向多个收件人发送电子邮件

我正在尝试向多个收件人发送电子邮件.为此,我创建了一个收件人数组,但是使用我的代码,我只能将邮件发送到阵列的最后一次电子邮件ID三次.我的代码出了什么问题?

var nodemailer = require("nodemailer");

var smtpTransport = nodemailer.createTransport(
"SMTP",{
  host: '',
  //  secureConnection: true,         // use SSL
  port: 25
});

var maillist = [
  '****.sharma3@****.com',
  '****.bussa@****.com',
  '****.gawri@****.com',
];

var msg = {
    from: "******", // sender address
    subject: "Hello ?", // Subject line
    text: "Hello This is an auto generated Email for testing  from node please ignore it  ?", // plaintext body
    cc: "*******"    
    //  html: "<b>Hello world ?</b>" // html body
}


maillist.forEach(function (to, i , array) { …
Run Code Online (Sandbox Code Playgroud)

javascript node.js nodemailer

25
推荐指数
5
解决办法
4万
查看次数

2022 年 5 月 30 日之后的 Nodemailer 和 Gmail

在此输入图像描述

使用 NodeMailer 和 Gmail 发送电子邮件

Google 报告称,5 月 30 日之后第三方应用程序将无法使用用户名和密码登录。这是否会影响 NodeMailer。我们通常在 gsuit gmail 设置中允许不太安全的应用程序,然后再在 Nodemailer 中使用它。

    var transporter = nodemailer.createTransport({
        service: 'gmail',
        auth: {
         user: 'youremail@address.com',
         pass: 'yourpassword'
        }
     });
Run Code Online (Sandbox Code Playgroud)

javascript email gmail node.js nodemailer

25
推荐指数
1
解决办法
1万
查看次数

将变量传递给nodemailer中的html模板

我想使用html模板向nodemailer发送电子邮件.在那个模板中,我需要动态注入一些变量,我真的不能这样做.我的代码:

var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');

smtpTransport = nodemailer.createTransport(smtpTransport({
    host: mailConfig.host,
    secure: mailConfig.secure,
    port: mailConfig.port,
    auth: {
        user: mailConfig.auth.user,
        pass: mailConfig.auth.pass
    }
}));
var mailOptions = {
    from: 'my@email.com',
    to : 'some@email.com',
    subject : 'test subject',
    html : { path: 'app/public/pages/emailWithPDF.html' }
};
smtpTransport.sendMail(mailOptions, function (error, response) {
    if (error) {
        console.log(error);
        callback(error);
    }
});
Run Code Online (Sandbox Code Playgroud)

假设我想在emailWithPDF.html中这样:

Hello {{username}}!
Run Code Online (Sandbox Code Playgroud)

我找到了一些例子,其中有如下情况:

...
html: '<p>Hello {{username}}</p>'
...
Run Code Online (Sandbox Code Playgroud)

但我希望它在单独的html文件中.可能吗?

html javascript node.js express nodemailer

20
推荐指数
5
解决办法
3万
查看次数

Nodemailer错误无法修复

我有一个非常简单的应用程序,只是开始弄脏nodemailer.当我运行应用程序时,我在模块本身中遇到错误.

app.js:

const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport('smtps://me%40gmail.com:supersecretpw@smtp.gmail.com');


var mailOptions = {
    from:    '"Me" <me@gmail.com>', // sender address
    to:      'him@him.com, her@her.com', // list of receivers
    subject: 'Hello dude', // Subject line
    text:    'Test email with text', // plaintext body
    html:    "Testing 1..2..7" // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

C:\Users\Andrew\desktop\messy4\node_modules\nodemailer\lib\mailer\index.js:31
            compile: [(...args) => this._convertDataImages(...args)],
                       ^^^

SyntaxError: …
Run Code Online (Sandbox Code Playgroud)

javascript syntax-error node.js npm nodemailer

20
推荐指数
1
解决办法
1万
查看次数

Nodemailer使用gmail,无法在字符串'SMTP'上创建属性'mailer'

我试图将我创建的表单中的数据发送到我的Gmail帐户,当点击sumbit按钮时我总是得到相同的错误.我发现了很多关于nodemailer的问题,但它们似乎都不像我遇到的那样.

当然我已经说过我的clientId但是刚刚删除了这篇文章.

TypeError: Cannot create property 'mailer' on string 'SMTP'
at Mail (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\nodemailer\lib\mailer\index.js:45:33)
   at Object.module.exports.createTransport (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\nodemailer\lib\nodemailer.js:46:14)
   at C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\src\app.js:39:26
   at Layer.handle [as handle_request] (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\layer.js:95:5)
   at next (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\route.js:131:13)
   at Route.dispatch (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\route.js:112:3)
   at Layer.handle [as handle_request] (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\layer.js:95:5)
   at C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:277:22
   at Function.process_params (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:330:12)
   at next (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:271:10)
   at serveStatic (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\node_modules\serve-static\index.js:75:16)
   at Layer.handle [as handle_request] (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\layer.js:95:5)
   at trim_prefix (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:312:13)
   at C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:280:7
   at Function.process_params (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:330:12)
   at next (C:\Users\snowr\Documents\dev\zorgkaartnl\zorgkaartnl\node_modules\express\lib\router\index.js:271:10)
Run Code Online (Sandbox Code Playgroud)

这是我的app.js:

// require modules
const express = require('express');
const app = express();
const pug = require('pug');
const fs = …
Run Code Online (Sandbox Code Playgroud)

javascript properties node.js nodemailer

19
推荐指数
2
解决办法
2万
查看次数