sendmail配置详解
sendmail
软件包
sendmail.i386
sendmail-cf.i386
sendmail-devel.i386
sendmail-doc.i386
m4
dovecot (pop3服务端)
procmail
配置之前的准备:
1、同步时间
2、设定好主机名
# vim /etc/hosts
192.168.0.249 station249.example.com
配置目录:/etc/mail
sendmail.mc
sendmail.cf
local-host-names
access
例子1:最简单的邮件系统,只允许本机对本机发送邮件
[root@station249 mail]# telnet 127.0.0.1 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 station249.example.com ESMTP Sendmail 8.13.8/8.13.8; Sun, 12 Sep 2010 22:58:14 +0800
helo moto
250 station249.example.com Hello localhost.localdomain [127.0.0.1], pleased to meet you
mail from: root@station249.example.com
250 2.1.0 root@station249.example.com... Sender ok
rcpt to:user1@station249.example.com
250 2.1.5 user1@station249.example.com... Recipient ok
data
354 Enter mail, end with "." on a line by itself
This is contents
End
.
250 2.0.0 o8CEwEIE014102 Message accepted for delivery
quit
221 2.0.0 station249.example.com closing connection
Connection closed by foreign host.
查看user1是否接受到邮件
# cat /var/mail/user1
例子2:允许其他机器连接过来发送邮件(接受邮件的用户都是在邮件服务器上的用户)
注意:当前的“其他机器”只能是在同一个域或者同一个网段的用户
# vim /etc/mail/sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# service sendmail restart
iptables设定
# iptables -A INPUT -p tcp --dport 25 -j ACCEPT
# iptables -A INPUT -p udp --dport 25 -j ACCEPT
例子3:允许本机和其他来自任何地方IP登录发送邮件,发送的邮件可以是其他域的邮件
解决方法:开启smtp验证
1、开启smtp验证的配置
DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
2、安装验证支持的软件包
# yum install cyrus-sasl* -y
3、重启相关的服务
# service sendmail restart
# service saslauthd restart
# service dovecot restart
# chkconfig ... on
验证是否支持smtp验证功能
[root@php rhce_env]# telnet 192.168.0.249 25
Trying 192.168.0.249...
Connected to station249.example.com (192.168.0.249).
Escape character is '^]'.
220 station249.example.com ESMTP Sendmail 8.13.8/8.13.8; Sun, 12 Sep 2010 23:20:30 +0800
ehlo station249.example.com #《-----
250-station249.example.com Hello station254.example.com [192.168.0.254], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN #《----看到AUTH关键字
250-DELIVERBY
250 HELP
例子4:只允许本机和example.com域下的用户登录发送外部邮件
题目的本意就是要求针对某个IP的用户打开中继功能。
什么叫中继?就是允许发送邮件到其他域
# vim /etc/mail/access
Connect:127.0.0.1 RELAY <---本身没有
Connect:example.com RELAY <---增加一行
# makemap hash /etc/mail/access.db < /etc/mail/access
例子5:支持短域名
# vim /etc/mail/local-host-names
station249.example.com
example.com
例子6:设置pop3s,imaps
设计的软件包
dovecot
服务
service dovecot
一般情况下,dovecot服务只支持pop3(110),imap(143)协议
# mutt -f pop://user1@station249.example.com
为了保证邮件内容保密,设置pop3s(995),imaps(993)
# vim /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
ssl_cert_file = /etc/pki/tls/certs/localhost.crt
ssl_key_file = /etc/pki/tls/private/localhost.key
ssl_key_password = 123456
生成密钥文件:
# cd /etc/pki/tls/certs/
# make localhost.key <---输入密码
# mkke localhost.crt
# cp localhost.key ../private/
# service dovecot restart
iptables设定
iptables -A INPUT -p tcp -m multiport --dports 110,143,993,995 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dports 110,143,993,995 -j ACCEPT
验证
# mutt -f pops://user1@station249.example.com
限制只允许example.com域下的用户使用pop3/imap等接收邮件。
首先确定example.com是哪个网段
iptables -A INPUT -p tcp -s 192.168.0.0/24 -m multiport --dports 110,143,993,995 -j ACCEPT
iptables -A INPUT -p udp -s 192.168.0.0/24 -m multiport --dports 110,143,993,995 -j ACCEPT
sendmail配置详解相关推荐
- Linux中Nginx安装与配置详解及常见问题
3 Nginx安装 3.1 安装前的准备 1)准备 pcre-8.12.tar.gz.该文件为正则表达式库.让nginx支持rewrite需要安装这个库. 2) 准备 nginx-1. ...
- keepalived介绍、安装及配置详解
文章目录 keepalived简介 keeplived和LVS关系 VRRP工作原理 keepalived体系结构及工作原理 keepalived安装 keepalived配置详解 keepalive ...
- elasticsearch-.yml(中文配置详解)
此elasticsearch-.yml配置文件,是在$ES_HOME/config/下 elasticsearch-.yml(中文配置详解) # ======================== El ...
- (ASA) Cisco Web ××× 配置详解 [三部曲之一]
(ASA) Cisco Web ××× 配置详解 [三部曲之一] 注意:本文仅对Web×××特性和配置作介绍,不包含SSL ×××配置,SSL ×××配置将在本版的后续文章中进行介绍. 首先,先来 ...
- mybatis 同名方法_MyBatis(四):xml配置详解
目录 1.我们将 数据库的配置语句写在 db.properties 文件中 2.在 mybatis-configuration.xml 中加载db.properties文件并读取 通过源码我们可以分析 ...
- logback节点配置详解
logback节点配置详解 一:根节点 <configuration></configuration> 属性 : debug : 默认为false ,设置为true时,将打印出 ...
- PM配置详解之一:企业结构
1.维护计划工厂 功能说明 在公司结构中定义维护工厂(通常已经作为后勤工厂存在)和维护计划工厂(简称计划工厂). 维护工厂:设备所安装的位置,如某机组安装在合营公司,那么合营公司就是此机组的维护工厂, ...
- 转 Log4j.properties配置详解
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- Iptables防火墙配置详解
iptables防火墙配置详解 iptables简介 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表. (1)filter表负责过滤数 ...
最新文章
- oracle数据库性能优化 - 降低IO
- 小米做的这件事,捍卫了你的隐私
- 【laravel5.4 + TP5.0】hasOne和belongsTo的区别
- 使用Angular HTTP client对数据模型进行删除操作
- 码工里开关灯为什么遮罩层在下面_装修公司为什么推荐无主灯设计?
- 在分布式环境中解决session共享问题
- 鲲鹏支持java_#化鲲为鹏,我有话说# 鲲鹏弹性云服务器配置 JAVA 环境
- 项目优化到一半还是崩了,新同事换了一套调优方案,全体颤抖。。。
- python自动压图贴图到Excel小工具
- CKEditor和CKFinder配置(asp.net)
- Tensorflow的最佳实践
- PHP中的simplehtmldom学习
- 学校网络认证服务器无响应,校园网常见问题
- 软件测试技术进阶篇——花椒测试平台 - 接口篇
- xshell官方个人免费版申请下载使用
- java maven 读写pdf_Java向PDF模板写入数据
- 一元三次方程重根判别式_一元三次方程的判别式和求根公式是什么?
- wireshark执行XDG问题
- php转换大小写函数,149-PHP大小写转换函数
- 网络通信安全部分笔记二