postfix+pop3+imap+cy

2023-01-31 01:01:19 pop3 Postfix cy



1.安装postfix软件包
2.安装smtp认证包
3.安装pop3和imap服务包
4.安装WEBmail软件包(webmail需要web服务器的支持)

Postfix

 

一.Postfix邮件服务的安装

1.关闭sendmail   

# /etc/init.d/sendmail stop

# chkconfig sendmail off

2.使用rpm命令安装postfix

# rpm -ivh postfix-2.3.3-2-2.i386.rpm

3.配置postfix服务的主要配置文件

vim /etc/postfix/main.cf

myhostname = mail.123.com    FQDN

mydomain = 123.com          域名

myorigin = $ mydomain        设置由本机发出邮件所使用的域名或主机名称

inet_interfaces = all            监听端口

mydestination = $mydomain, $myhostname   这一行是设置可接受邮件的主机名或域名(这一项一般不需要修改)

mynetworks_style = class       根据ip得知ip网段的 A B C

            subnet           默认  根据网卡上的设置开放网段

            host             开放本机的转发功能

myneworks = 192.168.1.0/24, 127.0.0.1/8    设置可转发那个网络的邮件

 

 

二.SMTP认证的配置

 

描述:Postfix服务只是一个MTA(邮件传输代理),它只提供smtp服务,也就是说只提供邮件的转发以及本地分发功能

 

1.安装cyrus-sasl认证包  

默认情况下这个包是已经安装的,可以使用以下命令查看

#rpm -qa |grep cyrus-sasl

 

如果没有结果就执行以下命令安装

# rpm -ivh cyrus-sasl-2.1.22-4.i386.rpm

设置开机启动

#/etc/rc.d/init.d/saslauthd start

# chkconfig saslauthd on

2.cyrus-sasl v2版本的密码验证

默认cyrus-sasl使用的守护进程名为saslauthd

查看支持的验证方式 

# saslauthd -v

3.设置main.cfpostfix可以与saslauthd联系

vim /etc/postfix/main.cf

smtpd_sasl_auth_enable=yes              启用smtp

smtpd_sasl_local_domain=‘’            允许本地域使用sasl

smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination   

permit     允许的网络不需要验证,

reject      拒绝的网络需要通过验证后才转发

broken_sasl_auth_clients=yes            打破客户端验证,使客户端只使用sasl方式验证登录     

smtpd_client_restrictions=permit_sasl_authenticated  客户端限制,只允许sasl方式的验证 

smtpd_sasl_security_options=noanonymous 取消登录(禁止匿名登录)

 

 

4.设置saslauthd使用shadow文件认证机制

vim /etc/sysconfig/saslauthd

MECH = shadow

5.测试

 

三.Pop和imap邮件服务

描述:实现邮件的异地接收,默认这两个服务是没有的,需要安装两个软件包来提供popimap邮件服务(dovecotcyrus-imapd)。Popimap服务所使用的端口分别是 110143.

 

1.安装dovecot

需要安装的perl-DBI Mysql dovecot 

 

 

# /etc/rc.d/init.d/dovecot start

# chkconfig dovecot on

2.dovecot服务的配置

vim /etc/dovecot.conf

protocols = pop3 pop3s

protocol pop3 { 

             listen = *:10100 

}

3.安装cyrus-imapd

需要安装cyrus-imapd-pearl  cyrus-imapd-utils  db4-utils  lm_sensors  cyrus-imapd  cyrus-imapd-devel

 

# /etc/init.d/cyrus-imapd start

# chkconfig cyrus-imapd on

 

4.postfixcyrus-imapd整合在一起

vim /etc/postfix/main.cf

mailbox_transport=lmtpunix:/var/lib/imap/Socket/lmtp

5.管理用户邮箱

创建用户

passwd cyrus   cyrus管理员账户设置密码

useradd test

passwd test

cyradm -u cyrus localhost

cm user.test                 创建用户

cm user.test.Send               发件箱

cm user.test.Trash               收件箱

cm user.test.Drafts               垃圾箱

setquota user.test 5120     (设置邮箱配额大小,默认以k为单位)

lm   列出与给定字符串

cm   创建一个新的邮箱

dm   删除一个邮件信箱及其下层的所有文件夹

renm 为邮件信箱更名

dam  删除用户访问邮件信箱的部分或全部权限

lam  列出邮件信箱的访问权限列表

sq   为邮件信箱设置配额   

lq   列出邮件信箱的配额   

 

# su -l cyrus -c /usr/lib/cyrus-imapd/quota  查看邮箱配额

 

 

四.Squirrelmail 

1.安装squirrelmail

需要的安装包 PHP-mbstring  squirrelmail

 

2.配置webmail

可以使用/etc/squirrelmail/config.php 文件来修改配置选项

使用Squirrelmail的配置工具修改配置选项

# /usr/share/squirrelmail/config/config.pl

 

2 ;   1;   123.com; 3 ;  2;  s;   r

10;  1;  zh_CN;  2; gb2312 ;  s;  r

4;    5;   y;  s;   r

D; cyruss;  q

1)设置域名跟smtp

 

2)设置语言

 

 

3

 

 

 

 

五.dns与Httpd简单设置

vim /var/named/chroot/etc/named.conf

 

vim /var/named/chroot/var/named/123.com.zone

 

 

清空/etc/resolv.conf文件的内容

 

 

 

客户端测试收发邮件

 

 

 

 

 

 

postfix邮件常用命令:

查看队列:postqueue -p

清空队列:postsuper -d ALL

postfix有四种不同的邮件队列,并且由队列管理进程统一进行管理:

1. maildrop:本地邮件放置在maildrop中,同时也被拷贝到incoming中。

2. incoming:放置正在到达或队列管理进程尚未发现的邮件。

3. active:放置队列管理进程已经打开了并正准备投递的邮件,该队列有长度的限制。

4. deferred:放置不能被投递的邮件。

启动postfixpostfix start

停止postfixpostfix stop

重新读取postfix配置文件:postfix reload

立即投递队列中所有邮件:postfix flush

查看队列邮件:postqueue -p

使用postsuper 来维护队列

一般是先用mailq查看队列里的邮件,找到对应的id,然后用postsuper -d来删除。

例如id0EAF3A9B 那么postsuper -d

########################################################
########################################################



 ------------------------------------------------------------
基本配置文件

vim /etc/postfix/main.cf

myhostname = mail.123.com    FQDN
mydomain = 123.com         域名
myorigin = $ mydomain        设置由本机发出邮件所使用的名称
inet_interfaces = all        监听端口
mydestination(不用修改)    这一行是设置可接受邮件的主机名或域名
mynetworks= class            根据ip得知ip网段的 A B C类
subnet                       默认  根据网卡上的设置开放网段
host                         开发本机的转发功能
myneworks = 192.168.1.0/24, 127.0.0.1/8    设置可转发那个网络的邮件
relay_domains =123.com       转发到下一个mta的域名
alias_maps=hash:/etc/aliases         邮件别名配置文件postmap
alias_database=hash:/etc/aliases     邮件别名数据库 postalias
-------------------------------------------------------------
访问控制配置文件

vim /etc/postfix/master.cf
vim /etc/postfix/access              存取控制文件
192.168.1.1    ACCEPT               允许
baidu.com    REJECT               拒绝
portmap /etc/postfix/access          是配置文件生效
-------------------------------------------------------------
用户别名配置文件

vim /etc/aliases 别名
真实用户名:    别名
postalias hash:/etc/aliases          使别名文件生效
-------------------------------------------------------------
虚拟别名域

vim /etc/postfix/main.cf
virtual_alias_domain = a.net b.net              域的别名
virtual_alias_maps = hash:/etc/postfix/virtual  域别名的文件

vim /etc/postfix/virtual
@a.net(别名)    @a.com(真实)
@b.net                @b.net

postalias /etc/aliases      
portmap /etc/postfix/virtual 使别名域生效

dns设置
a.com         IN NS     127.0.0.1
www           IN A       192.168.1.1
mail.a.com    IN CNAME  www.a.com
a.com        IN MX 10  mail.a.com

------------------------------------------------------------
SMTP认证   (简单邮件传输协议)
提供邮件的转发以及本地的分发功能
cyrus sasl
cyrus 主要提供saslauthd服务来进行帐号密码的对比操作

安装cyrus-sasl cyrus-sasl-devel cyrus-sasl-plain cyrus-sasl-md5  等软件
启动saslauthd服务

设置main.cf让postfix可以与saslauthd联系
vim /etc/postfix/main.cf
smtpd_sasl_auth_enable=yes              启用smtp
smtpd_sasl_local_domain=‘’            允许本地域使用sasl
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination  
permit允许的网络不需要验证,reject      拒绝的网络需要通过验证后才转发
broken_sasl_auth_clients=yes            打破客户端验证,使客户端只使用sasl方式验证登录    
smtpd_client_restrictions=permit_sasl_authenticated  客户端限制,只允许sasl方式的验证
smtpd_sasl_security_options=noanonymous 取消登录(禁止匿名登录)
saslauthd -v                            查看可使用的密码验证方式
testsaslauthd -u cyrus -p ‘123456’    测试saslauthd认证功能

设置saslauthd的认证机制
vim /etc/sysconfig/saslauthd
MECH=shadow

--------------------------
安装pop3  
dovecot perl-DBI mysql
编辑pop3主配置文件开启pop3服务器:
vim /etc/dovecot.conf
protocols=pop3 pop3s
protocol pop3{listen=*:10100}
/etc/init.d/dovecot start


----------------------------
安装 imap
cyrus-imapd-perl cyrus-imapd-utils db4-utils lm_sensors cyrus-imapd cyrus-imapd-devel
将postfix与cyrus-imapd整合在一起
vim /etc/postfix/main.cf
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp
/etc/init.d/cyrus-imapd start

--------------------------------------------------------------------



创建用户
passWord cyrus   给cyrus管理员账户设置密码
useradd test
passwd -d test
cyradm -u cyrus localhost
cm user.test                 创建用户
cm user.test.Send            发件箱
cm user.test.Trash           收件箱
cm user.test.Drafts          垃圾箱
setquota user.test 5120     (设置邮箱配额大小,默认以k为单位)
lm   列出与给定字符串
cm   创建一个新的邮箱
dm   删除一个邮件信箱及其下层的所有文件夹
renm 为邮件信箱更名
dam  删除用户访问邮件信箱的部分或全部权限
lam  列出邮件信箱的访问权限列表
sq   为邮件信箱设置配额  
lq   列出邮件信箱的配额  

su -l cyrus -c /usr/lib/cyrus-imapd/quota  查看邮箱配额






web方式收发邮件  (squirrelmail)
安装
php-mbstring
squirrelmail
配置工具  配置域名,smtp,语言,
/usr/share/squirrelmail/config/conf.pl
2 ;   1;   123.com; 3 ;  2;  s;   r
10;  1;  zh_CN;  2; gb2312 ;  s;  r
4;    5;   y;  s;   r
D; cyrus;s;  q





客户端在寄信时设置“邮件主机认证”功能

设置saslauthd的认证机制
vim /etc/sysconfig/saslauthd
MECH=shadow





 

相关文章