专栏首页用户3029758的专栏Linux搭建Postfix邮件服务器

Linux搭建Postfix邮件服务器

第一章:实验环境和目标

1.实验环境

Vm虚拟机安装CentOs7系统
CentOs7的IP地址:192.168.81.133
Win7客户端(测试用),有Xshell或者SecureCRT工具

2.目标:

CentOs7下搭建Postfix邮件服务器,配置域名服务远程登录访问,新建用个测试用户(sent,recv),两个用户用telnet命令登录邮件服务器,实现两个用户的邮件互发,并

第二章:实验内容

准备工作
搭建DNS服务   
搭建Postfix和dovecot服务
Telnet的安装和配置
远程登录并实现两个用户邮件互发
WebMail的搭建和验证

第三章:实验步骤

1.准备工作:

1.1 关闭防火墙并设置开机不自启

systemctl stop firewalld
systemctl disable firewalld

1.2 关闭selinux

setenforce 0

2.搭建DNS服务

2.1 安装DNS服务

yum install bind -y

2.2 修改named.conf配置文件

vim /etc/named.conf

2.3 修改named.rfc1912.zones文件,添加正向区域

vim /etc/named.rfc1912.zones

2.4 拷贝区域配置模板

cp -p /var/named/named.localhost /var/named/duiyi.com.zone

2.5 修改正向区域文件

vim /var/named/duiyi.com.zone

2.6 检查语法错误

named-checkconf

2.7 开启DNS服务,并设置开机自启

systemctl start named
systemctl enable named

2.8 设置服务器域名

vim /etc/resolv.conf

2.9 解析验证

nslookup mail.duiyi.com

3.搭建Postfix和dovecot服务

3.1 检查系统是否已经安装了postfix服务器

rpm -q postfix

CentOs7默认有postfix服务,如果没有,通过 yum install postfix -y 安装即可

3.2 修改主配置文件

vim /etc/postfix/main.cf 

修改如下:

75行:myhostname = mail.duiyi.com              //本机主机名

83行:mydomain = duiyi.com                     //服务器域名

99行:myorigin = $mydomain                     //初始域名

164行:mydestination = $myhostname,$mydomain   //目标域

419 home_mailbox = Maildir/                   //邮件目录,在用户家目录下

3.3 检查配置文件是否有语法错误

postfix check

3.4 开启Postfix服务,并设置开机自启

systemctl start postfix
systemctl enable postfix

3.5 安装dovecot服务

yum install dovecot -y

3.6 修改主配置文件

vim /etc/dovecot/dovecot.conf

​ 修改如下:

14行:protocols = imap pop3 lmtp                   //支持的电子邮件协议

26行:disable_plaintext_auth = no                  //允许用户明文登录(这个需要自己手动添加)

49行:login_trusted_networks = 192.168.81.133/24   //服务器的ip/24

3.7 修改子配置文件

vim /etc/dovecot/conf.d/10-mail.conf

修改如下:

24行: mail_location = maildir:~/Maildir           //服务器电子邮件保存的目录

3.8 重启dovecot并设置开机自启

systemctl restart  dovecot
systemctl enable   dovecot

3.9 创建测试用户sent和recv,并设置登录密码

useradd sent
passwd sent
useradd recv
passwd recv

3.10 查看用户是否创建成功

ls /home

4.Telnet的安装和配置

4.1 安装telnet和telnet-server

yum install telnet telnet -y
yum install telnet telnet-server -y

4.2 安装Telnet管理工具xinetd

yum install xinetd -y

4.3 修改配置文件

vim  /etc/xinetd.d/telnet

将disable = yes 改为 disable = no

service telnet
{
   flags              = REUSE
   socket_type        = stream
   wait               = no
   user               = root
   server             = /usr/sbin/in.telnetd
   log_on_failure     += USERID 
   disable            = no                      #将语句 disable = yes 改为 disable = no
}        

4.4 激活服务

systemctl restart xinetd

4.5 检查23号端口是否开启

netstat -tnl | grep 23 

5.远程登录并实现两个用户邮件互发

5.1 修改Win7/10的DNS为CentOs服务器地址:192.168.81.133

5.2 在Win7/10上启动Telnet功能,让其作为客户端

控制面板->程序->程序和功能->启动或关闭Windows功能->Telnet客户端  勾选并确定

5.3 打开Xshell或者SecureCRT等远程工具(cmd窗口也行,不过字符编码要修改为utf-8),在Xshell登录sent用户

telnet sent@mail.duiyi.com

5.4 Xshell新建选项卡,登录recv用户

telnet recv@mail.duiyi.com

5.5 sent用户发送邮件到recv用户

echo "this is a mail " | mail -s "mail"  recv@duiyi.com

5.6 recv查看邮件

出现如上图表示两个用户可以收发邮件

6.WebMail的搭建和验证

6.1 安装squirrelmail

yum install squirrelmail –y

6.2 创建符号链接mail

cd /var/www/html/
ln -s /usr/share/squirrelmail/ mail

6.3 对web页面进行配置

cd /var/www/html/mail/config
./conf.pl

依次配置:

6.3.1:语言设置

语言设置

6.3.2:设置为中文简体

6.3.3:修改字符集为GB2312

修改字符集为GB2312

6.3.4:返回到主菜单

返回到主菜单

6.3.5:服务器设置

服务器设置

6.3.6:修改域名

修改域名

6.3.7:修改邮件协议为SMTP

修改邮件协议为SMTP

6.3.8:返回到主菜单

返回到主菜单

6.3.9:保存修改

保存修改

6.3.10:退出

退出

6.4 注释掉UTF-8字符集

vim /etc/httpd/conf/httpd.conf  +316 

6.5 在Win7/10浏览器上登录WebMail页面,输入:http://www.duiyi.com/mail

6.6 登陆sent和recv用户(如果登陆不上重启dovecot:systemctl restart dovecot)

6.6 sent用户发送邮件给recv用户

6.7 转到recv用户查看邮件

出现如图即搭建Web页面邮件服务成功 !!!

声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%b0%e9%9b%b7%e9%9c%86%e6%88%98%e6%9c%ba-69/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 设计模式—–里氏替换原则

    开放封闭原则(Open Closed Principle)是构建可维护性和可重用性代码的基础。它强调设计良好的代码可以不通过修改而扩展,新的功能通过添加新的代码...

    对弈
  • Linux搭建Postfix邮件服务器

    声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%b0%e9%9b%...

    对弈
  • 阶段01Java基础day14常用对象03

    声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%b0%e9%9b%...

    对弈
  • PipeLineDB数据库介绍和总结

    PipelineDB 是开源的关系型数据库,可以在 streams 中持续运行 SQL 查询,逐渐将结果存储在表中。本文将对PipelineDB做相应的总结。

    挖掘大数据
  • SVN恢复历史版本及解决冲突方法

    前段时间有小伙伴们问我关于SVN恢复历史版本及解决冲突的问题,今天抽空就整理了一下,以为在此以前,有的小伙伴解决冲突使用的方法是:先把自己写的代码备份或删掉,更...

    硕人其颀
  • win7系统不能用telnet命令的两种解决方法

    电脑专业人员对telnet命令都不陌生了,Telnet当成一种通信协议,在日常工作中,经常面对网络问题的人都会用到telnet命令,因为简单有效,可以帮助更快的...

    庞小明
  • CentOS7 下安装telnet服务 原

    今天搞了下 Centos 7 下面升级 openssl 和 openssh ,顺便装了下 telnet

    拓荒者
  • 微信小程序的生命周期学习笔记-应用篇

    在我们学习微信小程序的过程当中,我们会参考很多资料。在这些资料中,我们经常能够看到“生命周期”四个字,在前面的课程中也提到过。在这里做一个说明。

    面向对象思考
  • C#中的信号量---Semaphore

    Semaphore是System.Threading下的类,限制可同时访问某一资源或资源池的线程数。

    zls365
  • 这个女生做的小程序,你买 iPhone 时一定能用上

    知晓君

扫码关注云+社区

领取腾讯云代金券