自建SMTP服务器完成发信,垃圾邮件拦截相关域名处理

2021-01-21 13:39:32

自建SMTP服务器完成发信,垃圾邮件拦截相关域名处理

文章目录


介绍

由于目前阿里企业邮箱,腾讯企业邮箱都有每日发信频率要求,因此需要自己搭建一个邮件系统完成邮件发送任务.
这篇文章记录服务器搭建过程遇到的问题与解决方法
实际搭建步骤请查看其它作者的文章

服务器安装配置

这里使用的是windows2019操作系统,使用服务器自带的SMTP服务作为邮件发送系统
安装步骤与账户配置这里不做介绍,可以参看其它作者的文章
这里只说明遇到的问题

554 5.5.2 No valid recipients

发送邮件的时候报错554 5.5.2 No valid recipients,需要进行以下设置
单击“访问”选项卡,点击“连接”和“中继”,选中“仅以下列表除外”.
在这里插入图片描述

垃圾邮件处理

现象与原因

发送的邮件会被腾讯邮箱识别为垃圾邮件并直接拦截
原因是没有添加mx,spf,DMARC记录

添加相关域名记录

mx

这个是邮件记录解析,并且只能解析cname域名,因此还需要添加一个A记录的普通域名

spf

这个是用于垃圾邮件识别的域名记录

相关介绍

https://www.renfei.org/blog/introduction-to-spf.html?spm=a2c6h.13066369.0.0.76e0589cbypk7q
检测地址
http://spf.myisp.ch/

DMARC

相关介绍
https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=16&&no=1001508

最终结果

这里假设邮箱发送后缀为 mail.hi.com ,
服务器外网IP为127.145.27.46
那么我添加了以下记录

_dmarc	
TXT
v=DMARC1; p=none; sp=none;
10 分钟

mail	
A	
127.145.27.46
10 分钟

mail	
TXT
v=spf1 a mx ip4:127.145.27.46 -all
10 分钟



mail	
MX
mail.hi.com | 10
10 分钟123456789101112131415161718192021

并且通过http://spf.myisp.ch/检测得

1.Allow if the IP matches an A or AAAA record of mail.hi.com
	127.145.27.46
2.Allow if the IP matches an MX record of mail.hi.com
	mail.hizhanhui.com.
		127.145.27.46
3.Allow all from the ip 127.145.27.46
4.Deny all IPs which do not match any previous rule1234567

通过测试以后,邮件内容不再被腾讯邮箱拦截,并且163,126也能正常接收邮件

也可以使用这个进行测试
http://www.mail-tester.com/12

一些错误解决

SMTP Error: The following recipients failed: Temporary lookup failure
运行命令:
postalias hash:/etc/aliases

Recipient address rejected: User unknown in local recipient table
设置 
local_recipient_maps =


  • 2020-11-17 10:13:16

    Vue.observable()进行状态管理

    随着组件的细化,就会遇到多组件状态共享的情况, Vuex当然可以解决这类问题,不过就像 Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是 vue.js 2.6 新增加的 Observable API ,通过使用这个 api 我们可以应对一些简单的跨组件数据状态共享的情况。

  • 2020-11-17 10:17:18

    MongoDB日志文件查看

    默认情况下,MongoDB在此路径/var/log/mongodb/mongodb.log创建日志文件,如果找不到该日志文件,请检查MongoDB配置文件。

  • 2020-11-17 11:57:16

    app抓包无数据

    我们经常在wifi设置中 设置代理到我们的pc http代理软件上,多数情况下,此时我们开启的app流量都可以在代理软件上看到,比如charles , fiddler等等。 但是细心的人会发现 某些大厂的app 某些请求 在这些 http代理软件上就是抓不到, 给人的感觉就是 流量没从代理软件走一样。

  • 2020-11-17 11:57:55

    app抓不到包,解决很简单

    1.手机安装virtualXpost 并激活xpost 框架,如有问题自行百度。 2.安装justTrustMe,然后再virtualXpost中添加此模块 3.安装手机抓包神器packet capture 4.在virtualXpost中运行app,并打开packet capture抓包就行

  • 2020-11-17 16:50:16

    JS常见加密混淆方式

    目录 前端js常见混淆加密保护方式 eval方法等字符串参数 emscripten WebAssembly js混淆实现 JSFuck AAEncode JJEncode 代码压缩 变量名混淆 字符串混淆 自我保护,比如卡死浏览器 控制流平坦化 僵尸代码注入 对象键名替换 禁用控制台输出 调试保护,比如无限Debug,定时Debug 域名锁定

  • 2020-11-17 17:08:28

    用js编写WebAssembly ,WebAssembly 现状与实战

    自从 JavaScript 诞生起到现在已经变成最流行的编程语言,这背后正是 Web 的发展所推动的。Web 应用变得更多更复杂,但这也渐渐暴露出了 JavaScript 的问题:

  • 2020-11-17 17:28:06

    AssemblyScript 开发WebAssembly 教程

    WebAssembly 以及通过 AssemblyScript 的扩展,不会使每个网站都神奇地变得更快,但是这并不重要。 WebAssembly 之所以令人兴奋,是因为它可以使更多的应用在 Web 变得中可行。

  • 2020-11-17 21:15:48

    如何保障 API 接口的安全性?前端如何加密

    一、1. HTTP 请求中的来源识别 二、2. 数据加密 三、3. 数据签名 四、4. 时间戳 五、5. AppID 六、6. 参数整体加密 七、7. 限流 八、8. 黑名单 九、1. 压缩 十、2. 混淆 undefined、3. 加密