用Linux配置局域网内的邮件服务器。postfix(发送,这里不使用sendmail,sendmail和postfix不能同时开启),dovecot(接收),squirrelmail(基于phpweb的邮件应用)。
邮件服务器的域名为 mail.demo.com,地址为192.168.64.130,建立的DNS服务器,地址也为192.168.64.130,域为demo.com。
dns服务器配置:https://blog.csdn.net/qq_42776455/article/details/83546333
主配置文件:
options{
directory "/var/named";
};
zone "demo.com." IN {
type master;
file "demo.zone";
};
zone "64.168.192.in-addr.arpa" IN {
type master;
file "reverse.zone";
};
正向解析文件中添加:
demo.com. IN MX 10 mail.demo.com.
mail IN A 192.168.64.130
反向解析添加:
130 IN PTR mail.demo.com.
安装:
yum -y install postfix
配置/etc/postfix/main.cf
:
69行左右
myhostname = mail.demo.com
设置邮件服务器的主机名,设置为公司的电子邮件服务器主机域名
76行左右
mydomain = demo.com
设置域名
93行左右
myorigin = $mydomain
指明发件人所在的域名,引用mydomain参数的值,赋给myorigin
108行左右
inet_interfaces = all
将所有的网络端口都开放,以便接收从任何网络端口来的邮件
将 inet_interfaces = $myhostname
注释掉 !!!(注释掉,前加#)
将110行左右
inet_interfaces = localhost
注释掉。该参数只会监听本机的发信需求 !!!(注释掉,前加#)
如果邮件主机上有多个网络端口,而又不想使全部的网络端口都开放postfix服务,就可以使用主机名指定需要开放的网络端口
154行左右
mydestination = $mydomain
收件人地址与该参数值匹配时,postfix才会将该邮件接收下来
把该行注释掉 mydestination = $myhostname, localhost.$mydomain, localhost
!!!(注释掉,前加#)
240行左右
mynetworks_style = subnet
控制网络邮件转发的参数,会根据邮件服务器的网络端口上所设置的IP地址、子网掩码来得知所要开放的IP网段
254行左右
mynetworks = 192.168.0.0/24
注释掉**!!!(注释掉,前加#)** 这台邮件主机只转发子网192.168.0.0/24中的客户端所发来的邮件,而拒绝其他子网通过它转发邮件
mynetworks_style和mynetworks参数同时设置时,以mynetworks参数的设置为准
注意=两边有空格
重新启动postfix服务器
service postfix restart
安装:
yum -y install dovecot
修改dovecot主配置文件/etc/dovecot.conf:
修改第20行,去掉注释:
protocols = imap imaps pop3 pop3s
启动:
service dovecot start
安装同上,yum安装。
修改/etc/squirrelmail/config.php:
26行
$squirrelmail_default_language = 'gb2312';
28行
$domain = 'demo.com';
29行
$imapServerAddress = 'mail.demo.com';
$imapPort = 143;
$useSendmail = true;
32行
$smtpServerAddress = 'mail.demo.com';
$smtpPort = 25;
59行
$default_charset = 'utf-8';
使用useradd创建两个用户(mail_1,mail_2),切记要passwd创建密码,不然登录不了。
用浏览器访问:http://mail.demo.com/webmail 或者用命令:
firefox http://mail.demo.com/webmail