需要监控linux某些服务状态并进行邮件报警,使用postfix和dovecot进行邮件的收发。

PostFix

1、卸载原来的sendmail,安装postfix和dovecot

rpm -e sendmail
yum -y install postfix dovecot
#我用的是centos5.5 并将centos 5.5的iso挂载作为yum源

2、配置postfix 

(顺序配置如下):

vi /etc/postfix/main.cf

myhostname = mail.ptbird.cn 
mydomain = ptbird.cn
myorigin = $mydomain
inet_interfaces = all
#inet_interfaces = localhost #默认是localhost 注释掉开启all
mydestination = $myhostname,$mydomain #username@ptbird.cn 和 username@mail.ptbird.cn都可以
mynetworks = 192.168.229.0/24 #局域网网段 如果图省事可以 0.0.0.0/0
relay_domains = $mydestination
home_mailbox = Maildir/

3、开启 postfix 

service postfix start|restart|stop

pstree |grep master
#postfix开启后可以通过 25端口来查看postfix情况
#通过进程名查看 进程名是 master 不是 postfix

4、测试postfix能否发送 

echo "test postfix "|mail root@ptbird.cn 
#root发送给root

当然也可以使用telnet进行邮件的发送
#需要安装telnet

#数字开头表示当前状态 不是输入内容
[root@ptbird mnt]# telnet 192.168.229.2 25
Trying 192.168.229.2...
Connected to ptbird.com.cn (192.168.229.2).
Escape character is '^]'.
220 mail.ptbird.com.cn ESMTP Postfix
#显示上面 表示telnet连接成功
mail from:<root@ptbird.com.cn>
#邮件发送者
250 2.1.0 Ok
rcpt to:root@ptbird.com.cn
#邮件接收者
250 2.1.5 Ok
data
#data加回车开始编写邮件
354 End data with .
Subject:test mail
#邮件主题
test mail content
#邮件内容
.
#.表示编写结束 发送邮件
250 2.0.0 Ok: queued as 06A98384B54
#发送成功
quit
#退出telnet

Dovecot

上面做完了只能发送邮件,不能接收邮件,需要配置dovecot。

配置文件的位置: vi /etc/dovecot.conf

简单配置内容:protocols = imap imaps pop3 pop3s 开启即可

可以检查110端口143端口的使用情况,进程都是dovecot

进行邮件的收发

配置好了postfix和dovecot,就可以通过pop和smtp进行邮件的收发。

创建用户admin 并给一个密码

创建用户admin后默认的就已经给了一个admin@ptbird.cn的账户

我在windows的客户端用的是 网易闪电邮

添加admin账户即可。

mail

测试邮件邮件的收发

1、使用root发送一封邮件给admin@ptbird.cn

[root@ptbird mnt]# echo "hello admin"|mail admin@ptbird.com.cn

mail2

2、使用admin回复邮件 root可以收到

*注意问题:windows下默认的邮件编码使用的不是utf8 因此内容在linux下查看会显示乱码

*同样 在linux下发送邮件到windows中接受,内容有中文,也会乱码。

mail3