Sendmail (rpm安装 )
1、软件包的安装
sendmail-cf-8.13.8-2.el5 (一些设定文档)
sendmail-cf-8.13.8-2.el5 (一些设定文档)
sendmail-8.13.8-2.el5 (主要邮件程序)
m4-1.4.5-3.el5.1
mailx-8.1.1-44.2.2
rpm -ivh 安装(或在安装系统时选择 sendmail 服务)
mailx-8.1.1-44.2.2
rpm -ivh 安装(或在安装系统时选择 sendmail 服务)
2、用 RPM 安装 IMAP (提供 IMAP 、 POP2 、 POP3 的相关功能)
cyrus-imapd-utils-2.3.7-2.el5
cyrus-imapd-utils-2.3.7-2.el5
cyrus-imapd-2.3.7-2.el5
cyrus-imapd-perl-2.3.7-2.el5
cyrus-imapd-devel-2.3.7-2.el5
db4-devel-4.3.29-9.fc6
db4-4.3.29-9.fc6
db4-utils-4.3.29-9.fc6
lm_sensors-2.10.0-3.1
主要有以上的包,以上包是对应CentOS5 的,可以用 rpm -qa | grep 包名称 来查看对应包是否安装。
启动imap 并设置自动运行:
#service cyrus-imapd start
#chkconfig cyrus-imapd on
使用#lsof -i : 110 查看 pop3 是否启动或使用 #ps -ef | grep pop ( /imap )查看 pop/imap 是否启动。
主要有以上的包,以上包是对应CentOS5 的,可以用 rpm -qa | grep 包名称 来查看对应包是否安装。
启动imap 并设置自动运行:
#service cyrus-imapd start
#chkconfig cyrus-imapd on
使用#lsof -i : 110 查看 pop3 是否启动或使用 #ps -ef | grep pop ( /imap )查看 pop/imap 是否启动。
3、
Sendmail Server 的基础说明
Sendmail的配置文件几乎都在 /etc/mail 下面
设定文件 :
·/etc/mail/sendmail.cf Sendmail主要配置文件
·/etc/mail/local-host-names 处理一个主机同事拥有多个主机名称时的收发信件主机名称问题。如果想同时让两个主机名称都可以接受信件,则这两个hostname 就必须写入 local-host-names 中。一个主机名占一行。
·/etc/mail/access.db 规定谁可以或不可以使用本邮件服务器的数据库。要转成这个数据库需要有makemap 以及 /etc/mail/access 文档的配合
·/etc/aliases.db
·/etc/mail/statistics 记录Sendmail 收发信件的相关信息
执行文件 :
·/usr/sbin/makemap 主要将access 转换成 access.db 的数据库制作执行文件
·/usr/sbin/mailstats 查看到目前为止Sendmail 工作传送、接受多少邮件
邮件目录 :
·/var/spool/mail 邮件接受下来后,每个使用者信件放置的目录
·/var/spool/mqueue 当邮件暂时发布出去的时候暂存的目录
Sendmail的配置文件几乎都在 /etc/mail 下面
设定文件 :
·/etc/mail/sendmail.cf Sendmail主要配置文件
·/etc/mail/local-host-names 处理一个主机同事拥有多个主机名称时的收发信件主机名称问题。如果想同时让两个主机名称都可以接受信件,则这两个hostname 就必须写入 local-host-names 中。一个主机名占一行。
·/etc/mail/access.db 规定谁可以或不可以使用本邮件服务器的数据库。要转成这个数据库需要有makemap 以及 /etc/mail/access 文档的配合
·/etc/aliases.db
·/etc/mail/statistics 记录Sendmail 收发信件的相关信息
执行文件 :
·/usr/sbin/makemap 主要将access 转换成 access.db 的数据库制作执行文件
·/usr/sbin/mailstats 查看到目前为止Sendmail 工作传送、接受多少邮件
邮件目录 :
·/var/spool/mail 邮件接受下来后,每个使用者信件放置的目录
·/var/spool/mqueue 当邮件暂时发布出去的时候暂存的目录
4、
M4程序的执行
如果在/etc/mail/sendmail.mc 中包含这样一句
include(`/usr/share/sendmail-cf/m4/cf.m4')
则可以直接执行#m4 sendmail.mc > sendmail.cf
如果不包含则:
#cd /etc/mail
#m4 /usr/share/sendmail-cf/m4/cf..m4 /
sendmail.mc > redhat.cf
如果在/etc/mail/sendmail.mc 中包含这样一句
include(`/usr/share/sendmail-cf/m4/cf.m4')
则可以直接执行#m4 sendmail.mc > sendmail.cf
如果不包含则:
#cd /etc/mail
#m4 /usr/share/sendmail-cf/m4/cf..m4 /
sendmail.mc > redhat.cf
5、
修改配置文件/etc/mail/sendmail.mc
#vi /etc/mail/sendmail.mc
找到:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
将它改为:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
保存后离开
重新制作档案
#m4 sendmail.mc > centos.cf
#mv sendmail.cf sendmail.cf.old
#cp centos.cf sendmail.cf
#vi /etc/mail/sendmail.mc
找到:
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')
将它改为:
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')
保存后离开
重新制作档案
#m4 sendmail.mc > centos.cf
#mv sendmail.cf sendmail.cf.old
#cp centos.cf sendmail.cf
6、
启动mail Server
#/etc/rc.d/init.d/sendmail start
#/etc/rc.d/init.d/sendmail start
7、
Imap( imap 、 pop2 、 pop3 )的安装、启动
8、
设定主机名称
#cd /etc/mail
#vi local-host-names
test.org
设定主机名称test.org 有收信的资格
如果希望mail.test.org 也有收信资格就在 local-host-names 中添加一行
mail.test.org
#cd /etc/mail
#vi local-host-names
test.org
设定主机名称test.org 有收信的资格
如果希望mail.test.org 也有收信资格就在 local-host-names 中添加一行
mail.test.org
9、
设定Mail Server 的使用权限 /etc/mail/access
(在其它机器上使用mail Server 来寄信)
#vi /etc/mail/access
192.168.0 RELAY 容许192.168.0.0/24 这个网段寄信
140.116.44.125 RELAY 允许一个具体的IP 可以寄信
h8h.com DISCARD 直接 丢弃 来自h8h.com 的邮件,不返回任何信息
192.168.1.100 DISCARD 直接 丢弃 192.168.1.100的邮件,不返回任何信息
test@test.domail.name REJECT 退回 这个地址的邮件, 回传一个信息
from:test@test.org REJECT 退回来自test@tesr.org 的信件
to:blah@test.org REJECT 退回发往blah@test.org 的信件
用Sendmail 来规定范围,设定来源于目的
RELAY:允许该来源所传送过来的邮件可以被接受
REJECT:不接受对方的邮件信息,“并回传一个错误或警告信息给发信端”
DISCARD:不接受对方的邮件信息,直接将该信件“丢弃”
通常建议使用DISCARD
access中不支持网段的写法即:
192.168.0.0/24
192.168.0.0/255.255.255.0
最后: #makemap hash access.db < access 将配置信息写入到access.db
(在其它机器上使用mail Server 来寄信)
#vi /etc/mail/access
192.168.0 RELAY 容许192.168.0.0/24 这个网段寄信
140.116.44.125 RELAY 允许一个具体的IP 可以寄信
h8h.com DISCARD 直接 丢弃 来自h8h.com 的邮件,不返回任何信息
192.168.1.100 DISCARD 直接 丢弃 192.168.1.100的邮件,不返回任何信息
test@test.domail.name REJECT 退回 这个地址的邮件, 回传一个信息
from:test@test.org REJECT 退回来自test@tesr.org 的信件
to:blah@test.org REJECT 退回发往blah@test.org 的信件
用Sendmail 来规定范围,设定来源于目的
RELAY:允许该来源所传送过来的邮件可以被接受
REJECT:不接受对方的邮件信息,“并回传一个错误或警告信息给发信端”
DISCARD:不接受对方的邮件信息,直接将该信件“丢弃”
通常建议使用DISCARD
access中不支持网段的写法即:
192.168.0.0/24
192.168.0.0/255.255.255.0
最后: #makemap hash access.db < access 将配置信息写入到access.db
10、
设定使用者别名/etc/aliases
在邮件上面的收件人: 真实账号1 ,真实账号 2 ,真实账号 3 ……
Test: test1, test2, test3,
当发邮件给test 时,会自动复制成 4 封寄给 test1 , test2 , test3
编辑完/etc/aliases 后,一定要用 newaliases 命令将数据编程数据库。
邮箱别名:在/etc/aliases 最后加一行
别名: 真实账号
test1: test
(设置test1 为 test 的别名)
#newaliases
——————————————————————————————
档案类型的别名设置
在/etc/mail/ 下新建一个文件
#vi /etc/mail/test
test1, /
test2, /
test3, /
……
编辑/etc/aliases
test: :include: /etc/mail/test
#newaliases
在邮件上面的收件人: 真实账号1 ,真实账号 2 ,真实账号 3 ……
Test: test1, test2, test3,
当发邮件给test 时,会自动复制成 4 封寄给 test1 , test2 , test3
编辑完/etc/aliases 后,一定要用 newaliases 命令将数据编程数据库。
邮箱别名:在/etc/aliases 最后加一行
别名: 真实账号
test1: test
(设置test1 为 test 的别名)
#newaliases
——————————————————————————————
档案类型的别名设置
在/etc/mail/ 下新建一个文件
#vi /etc/mail/test
test1, /
test2, /
test3, /
……
编辑/etc/aliases
test: :include: /etc/mail/test
#newaliases
11、
设定邮件转递(~/.forward )
当不是root 用户时设定邮件转递
在要进行转递的账号家目录下建立一个档案,档案名为~/.forward
#cd ~
#vi .forward
test
test1
test2
test@163.com
test@126.com
#chmod 644 .forward
当寄信给test 的时候,就可以将邮件寄给 .forward 中的其他账号。记得修改 .forward 用户的权限。
当不是root 用户时设定邮件转递
在要进行转递的账号家目录下建立一个档案,档案名为~/.forward
#cd ~
#vi .forward
test
test1
test2
test@163.com
test@126.com
#chmod 644 .forward
当寄信给test 的时候,就可以将邮件寄给 .forward 中的其他账号。记得修改 .forward 用户的权限。
12、
两个相关命令
mailq:查看信件队列的内容
mailstats:邮件在 Mailer 中的统计状态。
mailq:查看信件队列的内容
mailstats:邮件在 Mailer 中的统计状态。
13、
Linux下使用 mail
#mail fengjihu@163.com
Subject:This is a test mail
This is test mail
. #这个。就是结束符号,要正常离开编辑画面就是。!
Cc: # 这个是副本
#mail fengjihu@163.com
Subject:This is a test mail
This is test mail
. #这个。就是结束符号,要正常离开编辑画面就是。!
Cc: # 这个是副本
14、
SMTP认证启动流程
#vi /etc/mail/sendmail.mc
#找到
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
#vi /etc/mail/sendmail.mc
#找到
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#改成
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
#改成
TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
制作sendmail.cf 档案
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
制作sendmail.cf 档案
#m4 sendmail.mc > sendmail.cf
重启Sendmail
#/etc/rc.d/init.d/sendmail restart