Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodeEmailer-锚定标记不工作_Javascript_Node.js_Email_Gmail_Nodemailer - Fatal编程技术网

Javascript nodeEmailer-锚定标记不工作

Javascript nodeEmailer-锚定标记不工作,javascript,node.js,email,gmail,nodemailer,Javascript,Node.js,Email,Gmail,Nodemailer,每当我尝试使用NodeEmailer v1.10发送带有锚定标记的电子邮件时,我的电子邮件中就混入了一个3D字符。我相信这是%3D,解码时代表=。我使用gmail作为SMTP传输的服务 下面是我在nodemailer中使用的“html”值 var resetUrl = req.protocol + '://' + req.get('host') + ':' + req.app.get('port') + '/password/reset?token=' + encodeURIComponent(

每当我尝试使用NodeEmailer v1.10发送带有锚定标记的电子邮件时,我的电子邮件中就混入了一个
3D
字符。我相信这是
%3D
,解码时代表
=
。我使用gmail作为SMTP传输的服务

下面是我在nodemailer中使用的“html”值

var resetUrl = req.protocol + '://' + req.get('host') + ':' + req.app.get('port') + '/password/reset?token=' + encodeURIComponent(digest);
options.html = 'To reset your password, click this <a href="' + resetUrl + '"><span>link</span></a>.<br>This is a <b>test</b> email.'
var resetUrl=req.protocol+'://'+req.get('host')++':'+req.app.get('port')++'/password/reset?token='+encodeURIComponent(摘要);
options.html='要重置密码,请单击此。
这是一封测试电子邮件。'
下面是我从收到的电子邮件中单击“显示原件”时的样子

To reset your password, click this <a href=3D"http://192.168.1.=
109:3000:3000/password/reset?token=3DoU5J1vm4VTLl0Ru8SMI7x3YvF3Y%3D"><span>=
link</span></a>.<br>This is a <b>test</b> email.
要重置密码,请单击此按钮。
这是一封测试电子邮件。

我还注意到在每行的末尾都有
=
。这对gmail正常吗?我收到的电子邮件在gmail中看起来很正常。该链接有蓝色字体颜色,并带有下划线,但当我单击它时,它不起作用。我也在yahoo mail中尝试过,但链接也不起作用。

尝试使用以下工具编译HTML:

var nodemailer=require('nodemailer');
var htmlotext=require('nodemailer-html-to-text')。htmlotext;
var transporter=nodeEmailer.createTransport();
transporter.use('compile',htmlotext());
发送邮件({
发件人:'me@example.com',
致:'receiver@example.com',
html:“你好,世界!”
});

我通过将锚标记中使用的引号从
更改为
来修复它

之前:

options.html = 'To reset your password, click this <a href="' + resetUrl + '"><span>link</span></a>.<br>This is a <b>test</b> email.'
options.html='要重置密码,请单击此。
这是一封测试电子邮件。'
之后:

options.html = "To reset your password, click this <a href='" + resetUrl + "'><span>link</span></a>.<br>This is a <b>test</b> email."
options.html=“要重置密码,请单击此按钮。
这是一封测试电子邮件。”
我发现在单引号中加双引号总是更好的,而不是相反。
options.html = "To reset your password, click this <a href='" + resetUrl + "'><span>link</span></a>.<br>This is a <b>test</b> email."