javascript - 这封信进入了谷歌邮箱的垃圾邮件文件夹

标签 javascript node.js email nodemailer

当用户注册时,一些电子邮件会进入垃圾邮件文件夹。

我有两个功能: 第一个将为 nodemailer 进行配置。

function sendingLetter() {
    return nodemailer.createTransport({
        service: config.transport.service,
        secure: config.transport.ssl,
        auth: {
            user: config.transport.user,
            pass: config.transport.password
        }
    });
}

第二个是制作带有链接的邮件发送模板

function statusCheck(file, replacements) {
    let html_file = fs.readFileSync(file, { encoding: 'utf-8' });
    let template = handlebars.compile(html_file);
    let htmlToSend = template(replacements);
    return htmlToSend;
}

向用户邮箱发送信件的功能

const smtpTransport = sendingLetter();
const confirm_email = path.join(__dirname, '../views/email_templates/users/confirm_email.html');

...

let rand_hash = Date.now();
let link = 'https://' + config.kHostName + '/api/users/verify/' + rand_hash;
let replacements = {
   target_link: link,
};
let htmlToSend = statusCheck(confirm_email, replacements);
let mailOptions = {
   from: config.transport.user,
   to: user_email,
   subject: Constants.users.messages.subjectConfimEmail,
   html: htmlToSend,
};
smtpTransport.sendMail(mailOptions);

将插入链接以通过邮件发送给用户的模板

<p>
    We're ready to activate your account. All we need to do is make sure this is your email address.
</p>    
<a href="{{target_link}}"
    <div class="butten">
        Confirm Email
    </div>      
</a>

在某些情况下,Google 会将我的电子邮件发送到垃圾邮件文件夹。为什么会这样?有哪些技巧可以避免这种情况?

最佳答案

Google 中有一种算法可以根据您的兴趣对消息进行分类,并且可能已将其归类为不受欢迎的。

将任何网站发送的消息分类为垃圾邮件是网站管理员应该注意的最重要的事情之一。我将在这篇文章中讨论网站管理员应注意哪些事项,以确保由他发送的消息 其网站作为垃圾邮件(垃圾邮件)最终进入非垃圾邮件文件夹或垃圾邮件文件夹。

服务提供商如何将邮件分类为垃圾邮件?

电子邮件服务提供商使用许多方法和工具来过滤系统收到的电子邮件,并据此决定是否将邮件归类为烦人邮件。

  • 基于内容的过滤“内容过滤器”
  • 根据邮件的信头过滤“Email Header Filters”
  • 基于黑名单的过滤“黑名单过滤器”
  • Filter based on user decision“基于用户规则的过滤器”

    解决方法

    首先:基于内容Content Filters进行过滤

    通过消息的内容和编写方法,通过将内容与包含垃圾邮件中使用的一组词的数据库进行比较,确定消息是否令人不安,当然每个服务提供商都有自己的自己在这个区域中的单词称为“垃圾邮件触发词”,并且有许多英语单词列表可以使用 Google 搜索引擎中的先前搜索词找到。 此外,服务提供商通过这种机制搜索消息的编写方式,特别是如果使用HTML代码编写消息,则服务提供商确保编写的代码是干净的代码。 以下是可以提供的一些提示,可根据基于内容的过滤机制避免将您的邮件视为垃圾邮件:

  • 确保主题的标题不要太长,也不要短到只有一个词。
  • 确保邮件的标题或正文在用英文书写时没有完全大写。
  • 确保邮件标题不包含 Re: 除非该邮件实际上是对收件人发送的邮件的回复。
  • 不要在邮件标题中使用问号。
  • 您可以在连续的地址或消息内容中使用 $ $ 符号,例如 $$$。
  • 当您使用 HTML 编写消息时,请勿在消息中使用视频、JavaScript 或 JavaScript,并确保 HTML 代码干净、标准并根据 HTML 标准正确编写。

    第二:基于信头“Email Header Filters”的清算:

    通过这种机制,服务器接收到的消息会在信头中找到任何虚假数据,并据此将其归类为烦人的消息。

    第三种:基于黑名单的清算“黑名单过滤器”:

    黑名单是不断更新的数据库,其中包含基于或发送垃圾邮件的服务器的 IP 地址列表。

    第四:基于用户决定的清算“User Rule-based filters”:

    虽然这个机制不是很重要,因为它取决于消息的接收者本身的决定,但是必须要提到的是,在这个机制中消息的接收者自己来指示接收到的消息是烦人的消息因此在以后的时间里由同一个地址写的邮件将直接进入垃圾邮件文件夹。

    最后,我为我相对较弱的英语表示歉意。

  • 关于javascript - 这封信进入了谷歌邮箱的垃圾邮件文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56784419/

    相关文章:

    javascript - 带有连接线的 Threejs 粒子系统。编程逻辑?

    javascript - Jquery/正则表达式验证

    javascript - Ext.js 确认方法添加换行符

    javascript - 表单提交事件未捕获 OnSelectedIndexChanged?

    email - UTF-8主题行在Gmail中显示为问号

    php - 通过邮件发送日历请求

    javascript - 如何使用 Express 和 Nodejs 保护静态路由

    javascript - 如何在 SailsJS 中创建与另一个模型的对象单向关联的对象列表?

    node.js - Sequelize : calculate values before creating AND updating

    objective-c - Objective-C 中的 Mime 编码字解析