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表负责过滤数 ...
最新文章
- HDU-5723 Abandoned country
- 获取文件唯一id md5
- NFS Volume Provider(Part I) - 每天5分钟玩转 OpenStack(62
- 揭秘!疫情下的阿里员工如何上班?
- 动态库与静态库优缺点比较(转 侵删)
- 韩春雨要“翻案”?最新研究发现NgAgo具有DNA编辑能力
- Linux 下进入含空格的目录(以及文件夹名开头为`(`)
- php错误和异常的处理方式
- mysql无法授权问题
- CubeMX配置SPI-Flash(W25Q256)
- 单片机c语言双电源程序,基于单片机的双电源自动切换开关控制器
- 以管理员身份打开cmd窗口
- 【论文】写毕业论文过程中遇到的问题及解决方式记录
- 什么是SVG及使用方式
- 会声会影2018 转码导出H.265/HEVC编码视频
- python 日期API
- IE8——focus函数不好用
- bzero和memset函数区别联系
- MYSQL数据库的数据存储文件
- Word图片上传控件(WordPaster)更新-2.0.15版本