自建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 =


  • 2018-01-20 20:33:58

    PHP中session_cache_limiter() 是什么意思啊

    session_cache_limiter('public'); session_cache_expire(30); session_start();第三个我晓得 前两个 网络上没找着资料 手册上全是英文的 翻译后 还是看不懂主要是没翻译正确

  • 2018-01-23 02:22:17

    andorid,把控件置于最顶端。bringToFront的意外发现

     bringToFront方法在SDK中的说明是“Change the view's z order in the tree, so it's on top of other sibling views”,翻译过来就是改变view的z轴,使其处在他父view的顶端。关于bringToFront的实现,网上有很多资料介绍,大体来说就是将这个view从父view中移除,然后再加入父view的顶端。具体实现如何呢?