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的邮件,不返回任何信息
[email protected] REJECT 退回 这个地址的邮件, 回传一个信息
from:[email protected] REJECT 退回来自[email protected]的信件
to:[email protected] REJECT 退回发往[email protected]的信件
用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的邮件,不返回任何信息
[email protected] REJECT 退回 这个地址的邮件, 回传一个信息
from:[email protected] REJECT 退回来自[email protected]的信件
to:[email protected] REJECT 退回发往[email protected]的信件
用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
[email protected]
[email protected]
#chmod 644 .forward
当寄信给test的时候,就可以将邮件寄给.forward中的其他账号。记得修改.forward用户的权限。
当不是root用户时设定邮件转递
在要进行转递的账号家目录下建立一个档案,档案名为~/.forward
#cd ~
#vi .forward
test
test1
test2
[email protected]
[email protected]
#chmod 644 .forward
当寄信给test的时候,就可以将邮件寄给.forward中的其他账号。记得修改.forward用户的权限。
12、
两个相关命令
mailq:查看信件队列的内容
mailstats:邮件在Mailer中的统计状态。
mailq:查看信件队列的内容
mailstats:邮件在Mailer中的统计状态。
13、
Linux下使用mail
#mail [email protected]
Subject:This is a test mail
This is test mail
. #这个。就是结束符号,要正常离开编辑画面就是。!
Cc: #这个是副本
#mail [email protected]
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
重启Sendmail
#/etc/rc.d/init.d/sendmail restart