linux配置sendmail发邮件服务
前言 因为开发需要,搞了个wiki系统,并且用到了邮件订阅,所以研究了一番发送邮件的方法。 安装 没什么好说的,先安装必要组件。 apt install sendmail-bin apt install sendmail apt install sendmail-cf #配置工具 配置sendmail sendmail默认是本机用户发送给本机,所以需要修改可以发送到整个Internet: 修改se
目录19 个章节
前言
因为开发需要,搞了个wiki系统,并且用到了邮件订阅,所以研究了一番发送邮件的方法。
安装
没什么好说的,先安装必要组件。
apt install sendmail-bin
apt install sendmail
apt install sendmail-cf #配置工具
配置sendmail
sendmail默认是本机用户发送给本机,所以需要修改可以发送到整个Internet:
修改sendmail配置宏文件,路径为/etc/mail/sendmail.mc
找到
DAEMON_OPTIONS('Family=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1')dnl
将Addr=127.0.0.1修改为Addr=0.0.0.0,意思是可以连接到任何服务器。
保存修改的文件,下面备份配置文件:
cd /etc/mail
mv sendmail.cf sendmail.cf~
然后生成新的配置文件:
m4 sendmail.mc > sendmail.cf
重启sendmail生效
配置域名
配置sendmail使用合法的域名分两步,修改sendmail的配置文件和添加域名MX记录。
sendmail可以直接使用 -r account@domain.com 参数来以任意源地址发送邮件,但目前主流的邮箱都会将源地址和反向解析IP进行比较,如果解析不到或是解析的IP不匹配,轻则将邮件直接归为SPAM,严重的就直接拒绝接收。
MX记录(Mail Exchanger Record)主要是接收邮件时使用,即当投递一封新邮件时,会查询收件人域名的MX记录,然后通过MX记录得到的IP地址进行投递。同时邮件厂商在接收邮件的时候也会将源地址和MX记录进行比较,作为垃圾邮件的判断标准之一。
第一步:添加域名
(1) 将域名加入到local-host-names文件
打开:/etc/mail/local-host-names
添加:
deali.cn
(2) 修改submit.cf文件
打开:vi /etc/mail/submit.cf,找到行 #Dj$w.Foo.COM,修改为
Djdeali.cn
注意!一定是Dj+Domain形式!
至此,sendmail邮件命名配置完毕,重启sendmail使配置生效。
第二步:添加域名MX记录
找到修改域名信息的页面(不同的域名注册商页面不相同),修改结果因域名商的不同最迟会在24小时内生效。
(1) 添加域名A记录mail,直接指向你的邮件服务器的静态IP地址:
| 域名 | 类型 | 记录 |
|---|---|---|
| A | 127.0.0.1 |
(2) 添加(或是修改)域名的MX记录,形如:
| 域名 | 类型 | 记录 |
|---|---|---|
| @ | MX | deali.cn |
(3) 使用nslookup检测MX记录是否能正确解析到邮件服务器
nslookup
> set q=mx
> deali.cn
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
deali.cn mail exchanger = 5 deali.cn.
Authoritative answers can be found from:
发邮件测试
输入如下命令:
sendmail -t <<EOF
会出现>符号,输入下面格式的内容(每行后面回车):
From:Mail test <test@yourdomain.com>
To:xxxx@qq.com
Subject:Test
test
EOF
参见问题
Relaying denied(拒绝投递)
出现 550 5.7.1 <xxx@163.com>... Relaying denied. IP name lookup failed [192.168.1.133] 异常时,原因是把sendmail当做邮件中转站,需要将客户端的IP地址加入到access配置文件中。
打开:/etc/mail/access,添加:
Connect:客户端IP RELAY
重新生成访问权限的数据库:
cd /etc/mail/
makemap hash access.db < access
发出的邮件被其他MTA识别为垃圾
设置域名指向(上节链接),添加spf记录 操作教程 同时注意控制发信频率
在哪查看sendmail日志?
日志位置: /var/log/maillog
调整日志级别(详细程度): 修改配置文件define(confLOG_LEVEL',16’)dnl默认为9
或者调用命令时指定sendmail -O LogLevel=14
sendmail日志都是什么意思?
注意sendmail并不保证发出的邮件一定会被发到收件人接收,所以日志中的信息只是接收端MTA反馈的连接信息。
具体格式,慢慢读吧—–sendmail日志格式
sendmail性能参数
http://www.5dmail.net/html/2008-4-27/200842733006.htm
一些相关的网站,文章
_EOF_
linux配置sendmail发邮件服务
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
给你的Deepin系统换主题~
我现在的桌面: 因为美国封锁然后华为电脑用上Deepin系统的事情,Deepin系统最近名声大噪,其实Deepin本来的界面就很好看,号称打造最适合国人的系统不是盖的。 不过Deepin有一个坏处,就是默认主题的标题栏太大了…… 太占空间。所以我们要换主题折腾一下。 Deepin的桌面是Qt写的,所以首先要换KDE主题,然后再安排一下GTK3的主题,在Deepin系统设置里面换的主题就是GTK的,
2025-10-01 · 系统配置 · 约 1 分钟
关闭CentOS-6-防火墙,关闭Linux系统防火墙
前言 最近部署服务的时候需要临时关闭一下防火墙,所以记个笔记,如何关闭CentOS防火墙。 查看系统版本 输入:cat /etc/issue 查看版本 通过service关闭 service命令开启以及关闭防火墙为即时生效,下次重启机器的时候会自动复原。 查看防火墙状态: service iptables status 记得在CentOS6.9中是输入iptables,网上有些教程使用serv
2025-10-27 · 系统配置 · 约 1 分钟
内存不够用?在Linux上使用swapfile配置交换空间
前言 几个月前我还兴高采烈写了篇文章说给笔记本升级了内存配置,从乞丐版的4G一跃成为16G高富帅,然而,这几个月来我备受电脑死机的折磨,我现在有理由怀疑我可能买了假的内存条,于是没有办法,只能换回原厂的4G内存条,~~(然后准备赚部台式机)~~,问题不大。 换上4G内存条之后效果显著,只开了一个谷歌浏览器,内存占用就已经到了80%了,JB家的IDE是决计不敢再用了,可是这样还是难以满足系统对内存空
2025-10-27 · 系统配置 · 约 1 分钟
Linux--使用Snap安装第三方微信客户端Electronic-Wechat
前言 腾讯估计是不会给Linux系统开发任何软件了,不过问题不大。我们有很多好用的第三方软件替代~~(无奈之举,摊手)~~ 关于Snap Ubuntu官网上的介绍 Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single bu
2025-10-27 · 系统配置 · 约 1 分钟
讨论
共 0 条加载评论中…