首次使用Node并使用电子邮件配置。我下载了这个application from here,它有效(使用mustache.js为电子邮件生成模板),但测试邮件最终出现在我的垃圾邮件中。
from: via vps1234.inmotionhosting.com
to: thisisme@gmail.com
date: Tue, Aug 8, 2017 at 5:30 PM
subject: Thanks! and review your experience
mailed-by: vps1234.inmotionhosting.com
security: Standard encryption (TLS) Learn more
-
var nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
service: ' ',
secure: false,
port: 25,
auth: {
user: 'thisisme@mydomain.com',
pass: 'password1234'
},
tls: {
rejectUnauthorized: false,
}
}),
EmailTemplate = require('email-templates').EmailTemplate,
path = require('path'),
Promise = require('bluebird');
let users = [
{
name: 'John',
note: 'I found your purse',
email: 'recipient@gmail.com',
}
];
function sendEmail (obj) {
return transporter.sendMail(obj);
}
function loadTemplate (templateName, contexts) {
let template = new EmailTemplate(path.join(__dirname, 'templates', templateName));
return Promise.all(contexts.map((context) => {
return new Promise((resolve, reject) => {
template.render(context, (err, result) => {
if (err) reject(err);
else resolve({
email: result,
context,
});
});
});
}));
}
loadTemplate('welcome', users).then((results) => {
return Promise.all(results.map((result) => {
sendEmail({
to: result.context.email,
from: 'Me :)',
subject: result.email.subject,
html: result.email.html,
text: result.email.text,
});
}));
}).then(() => {
console.log('Yay!');
});
这是Nodemailer样板文件,我在我的服务器上也进行了测试,它运行正常,电子邮件没有被标记:
var nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
service: ' ',
secure: false,
port: 25,
auth:{
user: 'thisisme@mydomain.com',
pass: 'password1234'
},
tls: {
rejectUnauthorized: false,
}
});
let helperOptions = {
from: '<thisisme@mydomain.com>',
to: 'recipient1234@gmail.com',
};
transporter.sendMail(helperOptions, (error, info) =>{
if(error){return alert(error);}
console.log("sent" . info);
})
答案 0 :(得分:0)
标记为垃圾邮件的邮件并不是生成它的代码的功能,而是其他一些功能,例如:
第一个问题是你必须要玩的东西。有一些服务,如MailMonitor和其他可以帮助您调整内容,以了解gmail和其他人如何处理它。措辞,HTML与纯文本,链接与无等等都起作用。
就域名而言,您需要设置SPF(发件人政策框架)和DKIM条目,以便将您的域名作为正确的发件人进行验证。 &#34;未知发件人&#34;很可能是缺少SPF记录。
对于SPF,这里是article。 对于DKIM,another
请注意,我只是用Google搜索 - 它们似乎是好文章,但我相信还有其他很好的资源。
它的要点是,您要在DNS中创建几个TXT条目。 SPF发生器等工具可以帮助您解决这个问题。它并不像听起来那么复杂。
一旦完成,您可能仍然会收到垃圾邮件,但它肯定会有所帮助。您可以尝试使用Amazon SES和SendGrid这样的服务,这些服务可能会提供更好的发送效果&#34;比你当前的SMTP服务器。