centos dovecot centos镜像
今天给各位分享centos dovecot的知识,其中也会对centos镜像进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
linux mail服务器怎么用
一、概述:
在配置邮件服务器之前,先解释几个概念。
通常使用Email都很容易,但是Internet的邮件系统是通过几个复杂的部分连接而成的,对于最终用户而言,我们熟悉的Outlook,Foxmail等都是用来收信和发信的,称之为MUA:Mail User Agent,邮件用户代理。
MUA并非直接将邮件发送至收件人手中,而是通过MTA:Mail Transfer Agent,邮件传输代理代为传递,Sendmail和Postfix就是扮演MTA的角色。
一封邮件从MUA发出后,可能通过一个或多个MTA传递,最终到达MDA:Mail Delivery Agent,邮件投递代理,邮件到达MDA后,就存放在某个文件或特殊的数据库里,我们将这个长期保存邮件的地方称之为邮箱。
一旦邮件到达邮箱,就原地不动了,等用户再通过MUA将其取走,就是用Outlook,Foxmail等软件收信的过程。
所以一封邮件的流程是:
发件人:MUA--发送--> MTA->若干个MTA...-> MTA-> MDA<--收取-- MUA:收件人
MUA到MTA,以及MTA到MTA之间使用的协议就是SMTP协议,而收邮件时,MUA到MDA之间使用的协议最常用的是POP3或IMAP。
需要注意的是,专业邮件服务商都有大量的机器来为用户服务,所以通常MTA和MDA并不是同一台服务器,因此,在Outlook等软件里,我们需要分别填写SMTP发送服务器的地址和POP3接收服务器的地址。
Linux系统下邮件服务器的搭建(Postfix+Dovecot)
对于网站来说,发送各种例如注册通知的邮件是很基本的一个需求,之前我一直用的是腾讯的企业邮箱,感觉挺方便的,直接可以绑定QQ邮箱接收邮件,网站配置一下SMTP也就可以发出邮件。
但是在前几天由于有重要信息需要立即通知用户,所以选择了群发邮件的方式。在当我以为一切都是辣么完美的时候,陆续有用户过来问我什么情况,我都会跟他们说请查收邮件,但是有好几个人说并没有任何
邮件,于是我试着再发一次,结果返回了错误提示。在网上找了下原因,后来看到这个:各大免费邮箱邮件群发账户SMTP服务器配置及SMTP发送量限制情况,才知道是因为发信数量限制了。
所以只好另寻出路了,然后我在知乎上面找到了很多个提供邮件发送的服务商,大概有这些:SendGrid、MailChimp、Amazon SES、SendCloud、Mailgun等等,在看了不少人的建议之后,我选择了Mailgun。
Mailgun注册和配置都挺简单,很快我就成功的发出了第一封邮件,怀着这封欣喜,我又发送了几封邮件,可是悲剧发生在第三封邮件,Mailgun后台有详细的发送记录,这个非常不错,在后台我看到我的邮件被拒收了,原因大概是该服务器IP的发信频率超过腾讯邮箱限制。所以这里就涉及到IP的问题,目前第三方的邮件发送服务普遍都是共享IP(后面还试过SendCloud、),而共享IP并不能确定是否已经达到接收方的数量限制,一旦达到了就无法再发送。这就是说还需要使用独立IP才能保证邮件有较高的到达率,接着就看了各家的独立IP价格,一般都是二十几甚至四十几美刀一个月,这对于我们这种小站长邮件需求不高的来说确实有点贵,买台VPS都不用这个价吧。
经过上面这些折腾,也算明白了如果要想顺畅的发出邮件的话,除了花钱,就只有自己搭建一个邮件服务器了。
好了,下面开始进入正题,教你搭建一个简单的邮件服务器。
用于搭建的服务器信息
阿里云 Centos 6.5 32位
Postfix-2.8.12.tar.gz Postfix MTA(邮件传输代理)
Dovecot-2.1.8.tar.gz IMAP和 POP3邮件服务器
Postfixadmin-2.3.5.tar.gz采用PHP编写的开源WEB邮箱及域名账号管理工具
Roundcubemail-0.8.1.tar.gz采用php编写的开源IMAP邮件WEB客户端
安装过程
1.安装Postfix
yum-y install postfix
安装完成还需要替换系统自带的sendmail:
rpm-e sendmail
或者
yum remove sendmail
修改MTA(默认邮件传输代理)
alternatives--config mta
然后直接回车即可。
检查一下是不是已经设置成功了。
alternatives--display mta
第一行可以看到mta的状态。例如:mat- status is manual.
2.安装Dovecot
yum-y install dovecot
3.配置Postfix
编辑/etc/postfix/main.cf,可以下载下来修改,也可以使用vi进行编辑:
vi/etc/postfix/main.cf
修改如下:
# 75行:取消注释,设置hostname
myhostname= mail.lomu.me
# 83行:取消注释,设置域名
mydomain= lomu.me
# 99行:取消注释
myorigin=$mydomain
# 116行:修改
inet_interfaces= all
# 119行:推荐ipv4,如果支持ipv6,则可以为all
inet_protocols= ipv4
# 164行:添加
mydestination=$myhostname, localhost.$mydomain, localhost,$mydomain
# 264行:取消注释,指定内网和本地的IP地址范围
mynetworks= 127.0.0.0/8, 10.0.0.0/24
# 419行:取消注释,邮件保存目录
home_mailbox= Maildir/
# 571行:添加
smtpd_banner=$myhostname ESMTP
#添加到最后
#规定邮件最大尺寸为10M
message_size_limit= 10485760
#规定收件箱最大容量为1G
mailbox_size_limit= 1073741824
# SMTP认证
smtpd_sasl_type= dovecot
smtpd_sasl_path= private/auth
smtpd_sasl_auth_enable= yes
smtpd_sasl_security_options= noanonymous
smtpd_sasl_local_domain=$myhostname
smtpd_recipient_restrictions= permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject
修改好了之后使用/etc/rc.d/init.d/postfix start开启postfix,使用chkconfig postfix on将postfix开机启动。
4.配置Dovecot
修改如下:
[root@mail~]# vi/etc/dovecot/dovecot.conf
# 26行:如果不使用IPv6,请修改为*
listen=*
[root@mail~]# vi/etc/dovecot/conf.d/10-auth.conf
# 9行:取消注释并修改
disable_plaintext_auth= no
# 97行:添加
auth_mechanisms= plain login
[root@mail~]# vi/etc/dovecot/conf.d/10-mail.conf
# 30行:取消注释并添加
mail_location= maildir:~/Maildir
[root@mail~]# vi/etc/dovecot/conf.d/10-master.conf
# 88-90行:取消注释并添加
# Postfix smtp验证
unix_listener/var/spool/postfix/private/auth{
mode= 0666
user= postfix
group= postfix
}
[root@mail~]#/etc/rc.d/init.d/dovecot start
Starting Dovecot Imap: [ OK ]
[root@mail~]# chkconfig dovecot on
到这里,我们的邮件服务器就已经搭建成功了。
5.域名解析
最后别忘了还需要进行域名解析工作。
添加一个子域名mail,A记录解析到服务器IP。
再添加一个MX记录,主机记录为空,记录值为上面解析的二级域名mail.lomu.me,优先级10。
注意:解析生效可能需要一段时间。
6.防火墙设置
/sbin/iptables-A INPUT-p tcp--dport 25-j ACCEPT
/sbin/iptables-A INPUT-p tcp--dport 110-j ACCEPT
/sbin/iptables-A INPUT-p tcp--dport 143-j ACCEPT
突破封锁25口的转发
/sbin/iptables-t nat-A PREROUTING-p tcp-m tcp--dport 10025-j REDIRECT--to-ports 25
7.邮箱使用
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是root@domain.com,密码就是root的密码,所以需要创建用户,只要使用useradd创建用户,再使用passwd设置密码。
好了,假如我们创建一个admin的用户:
#创建用户
useradd admin
#设置密码,会要求输入两次密码
passwd admin
接下来登录Foxmail,如图:
点击创建,进入:
这里需要注意,邮件账号是admin,并不是邮箱,另外我们没有配置SSL,所以也不要勾选。接下来点击创建,如果一切正常的话,你已经成功了。
Linux系统下安装配置postfix邮件服务器教程
一,安装postfix,cyrus-sasl,cyrus-imapd
如果yum提示找不到软件包,请换一下源,请参考centos 6推荐使用epel源
代码如下:
[root@localhost~]# yum install postfix
[root@localhost~]# yum install cyrus*
二,删除了sendmail
代码如下:
[root@localhost~]# rpm-e sendmail
或者
代码如下:
[root@localhost~]# yum remove sendmail
三,更改默认邮件传输代理(MTA)
代码如下:
[root@localhost sasl2]# alternatives--config mta
共有 1个程序提供“mta”。
选择命令
-----------------------------------------------
*+ 1/usr/sbin/sendmail.postfix
按 Enter来保存当前选择[+],或键入选择号码:1
上面的只有一个postfix,sendmail已经被我删了。可以通过下面命令来查看。
代码如下:
[root@localhost~]# alternatives--display mta
四,postfix,cyrus-sasl,cyrus-imapd相关配置
1,postfix主配置文件main.cf
代码如下:
[root@localhost postfix]# vim/etc/postfix/main.cf
myhostname= localhost//76行,将等号后面的部分改写为本机主机名
mydomain= 51yip.com//82行,设置域名
myorigin=$mydomain//97行,把$myhostname改为$mydomain
inet_interfaces= all//112行,把后面的localhost改成all
mydestination=$myhostname, localhost.$mydomain, localhost,$mydomain//163行,把前面的注释拿掉,并加一下$mydomain
mynetworks= 192.168.0.0/24, 127.0.0.0/8//263行,设置内网和本地IP
local_recipient_maps=//209行,把前面的注释拿掉。
smtpd_banner=$myhostname ESMTP unknow//568行,把前面的注释拿掉,然后把$mail_name($mail_version)改成unknow
p//在main.cf文件的底部加上以下内容
smtpd_sasl_auth_enable= yes//使用SMTP认证
broken_sasl_auth_clients= yes//让不支持RFC2554的smtpclient也可以跟postfix做交互。
smtpd_sasl_local_domain=$myhostname//指定SMTP认证的本地域名
smtpd_sasl_security_options= noanonymous//取消匿名登陆方式
smtpd_recipient_restrictions= permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination//设定邮件中有关收件人部分的限制
smtpd_sasl_security_restrictions= permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination//设置允许范围
message_size_limit= 15728640//邮件大小
mailbox_transport=lmtp:unix:/var/lib/imap/socket/lmtp//设置连接cyrus-imapd的路径
如果不加local_recipient_maps这个配置,收邮件收不到,下面是qq的退信。
收件人邮件地址(tank@51yip.com)不存在,邮件无法送达。host mail.51yip.com[122.225.***.***] said: 550 5.1.1: Recipient address rejected: User unknown in local recipient table(in reply to RCPT TO command)
2,cyrus-sasl配置
代码如下:
[root@localhost postfix]# vim/etc/sasl2/smtpd.conf//在文件尾部加上以下内容
log_level: 3//记录log的模式
saslauthd_path:/var/run/saslauthd/mux//设置一下smtp寻找cyrus-sasl的路径,在这里要提一下的32位的机器和64位的机器smtpd.conf的路径是不一样的。
p//这是centos 5.5 32位机器上smtpd的配置文件
[root@linux sasl2]# ls|grep conf
Sendmail.conf
smtpd.conf
[root@linux sasl2]# pwd
/usr/lib/sasl2
//这是centos 6.0 64位机器上smtpd的配置文件,其他地方没有smtpd的配置文件
[root@localhost postfix]# ls/etc/sasl2/|grep smtpd
smtpd.conf
网上有不少关于postfix安装文章,配置的时候并没有明确提出是32位机器,还是64位机器。所以在这里标明一下。
3,配置cyrus-imapd
cyrus-imapd的主要配置文件有下面三个
代码如下:
/etc/sysconfig/cyrus-imapd
p/etc/cyrus.conf
p/etc/imapd.conf
这里是默认的配置,也就是说上面三个文件我是没有动过的。在这里提醒一下imapd.conf在这个文件里面,你可以设置管理账号
,设置邮件存放目录,设置密码连接方式等。
五,启动postfix,cyrus-sasl,cyrus-imapd
启动cyrus-imapd服务,就可以同时提供pop和imap服务,如果你已安装了dovecot服务就可以删除掉,cyrus-imapd和dovecot二者选其一就行了,二都可以提供pop和imap服务,不过cyrus-imapd可以为每个用户创建一个信息,而且信箱具有层次结构,比较好管理。建议用cyrus-imapd。
代码如下:
[root@linux sasl2]#/etc/init.d/postfix start
[root@linux sasl2]#/etc/init.d/saslauthd start
[root@linux sasl2]#/etc/init.d/cyrus-imapd start
查看一下进程,
代码如下:
//smtp监听是25端口
[root@linux u]# netstat-tpnl|grep smtpd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 6319/smtpd
代码如下:
//110(POP3)和143(IMAP)端口,下面都已经有了
[root@linux u]# netstat-tpnl|grep cyrus
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 23593/cyrus-master
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 23593/cyrus-master
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 23593/cyrus-master
tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN 23593/cyrus-master
tcp 0 0:::993:::* LISTEN 23593/cyrus-master
tcp 0 0:::995:::* LISTEN 23593/cyrus-master
tcp 0 0:::110:::* LISTEN 23593/cyrus-master
tcp 0 0:::143:::* LISTEN 23593/cyrus-master
tcp 0 0:::2000:::* LISTEN 23593/cyrus-master
启动是没有问题的。
六,测试cyrus-sasl
代码如下:
[root@linux t]# passwd cyrus//设置cyrus的密码
[root@linux sasl2]# testsaslauthd-u cyrus-p'******'//系统用户和密码
0: OK"Success."
如果显示是上面的内容说是smtp是没有什么问题
七,cyrus-imapd生产邮件管理员账号,并添加测试账号
安装完cyrus-imapd后会产生一个管理账号是cyrus,所属用户组是mail
代码如下:
[root@linux sasl2]# id cyrus//imapd.conf里面默认的管理员账号就是cyrus
uid=76(cyrus) gid=12(mail) groups=12(mail),76(saslauth)
在认证admin账号时,我发现32位系统和64位系统有一点不同,二种系统我都配置过,配置都是一样的,
但是出现的结果不一样,看下图
32位机器cyrus管理员用户认证
64位机器cyrus管理员用户认证
从上图可以看出,32位的系统是不用加上--auth plain,64位的要,如果不加的话,根本进不去。
进去后,我们来添加一下测试账号
代码如下:
[root@linux sasl2]# cyradm-u cyrus localhost
IMAP Password:
localhost cm tank
localhost lm
tank(HasNoChildren)
localhost quit
这样我们可以在/var/spool/imap中看到,生成的目录,32位机器和64位机器生成的目录是不一样的
代码如下:
//这是64位系统生成的目录
[root@localhost u]# ls
user^tank
[root@localhost u]# pwd
/var/spool/imap/u
//这是32位系统生成的目录
[root@linux t]# ls
tank
[root@linux t]# pwd
/var/spool/imap/t
八,测试收发邮件
测试前添加一下DNS,
1,mail.51yip.com A默认 122.225.***.***
2,mail.51yip.com A联通 60.12.***.***
3,@ MX默认 mail.51yip.com
第1和第2,是添加二条A记录,第三行,设置了一下MX记录,这个千万不要忘了,不然你的域名是不通的。
方法有很多,我们可以利用telnet来测试,不过用telnet来测试收发邮件比较麻烦,用linux自带的
mail命令就方便多了
代码如下:
[root@localhost u]# mail-s'看一下' 95219454@qq.com/etc/imapd.conf
如何在 CentOS 8 服务器上安装 ISP Config 3.2
要在 CentOS 8服务器上安装 ISPConfig 3.2,首先需要遵循一系列步骤。这个教程将引导你安装网络服务,如Apache、PHP、MySQL、邮件服务器等,并配置必要的安全设置和性能优化。以下是安装步骤的概括:
1.准备工作:确保服务器的键盘布局正确,然后禁用 CentOS防火墙,因为ISPConfig会使用Bastille防火墙脚本。
2.网络配置:配置网络接口,设置静态 IP、网关和名称服务器,然后启用所需的网络服务。
3.安全设置:调整 SELinux为宽松模式,以兼容ISPConfig,同时启用EPEL存储库并安装必要的软件包。
4.配额管理:在合适的文件系统上启用配额,包括在根分区或单独的/var分区上。
5.软件安装:安装Apache、PHP、MySQL、phpMyAdmin、Dovecot、Postfix、Getmail等,并配置相关安全设置。
6.启动服务:创建系统启动链接,启动所安装的服务,如Apache、PHP-FPM等。
7.邮件和安全:安装 SpamAssassin、ClamAV、Postgrey,配置Amavisd-new和邮件客户端。
8. PHP选项:根据需要切换到PHP-FPM,设置Apache的MPM模块和phpMyAdmin配置。
9. SSL支持:安装Let's Encrypt支持,为Apache添加SSL支持。
10.安装额外组件:如mod_python、PureFTPd、BIND和AWStats,确保安全设置。
11.完成安装:运行ISPConfig的安装程序,配置所有底层服务,并创建SSL虚拟主机以支持HTTPS。
12.登录和配置:首次登录时使用默认的admin账户,安装后务必修改密码,并参考ISPConfig 3.2的手册以深入了解和优化使用。
最后,这个教程提供了一个完整的指南,使你在 CentOS 8服务器上安装 ISPConfig 3.2,并为后续管理打下坚实基础。完成安装后,你将拥有一个功能齐全的网络托管控制面板,可以方便地管理你的服务器资源。