https://pan.baidu.com/s/1kEEbLAybquN5IVsDgwgqTg
以上链接是会用到的安装包
实现的功能:
1、通过设置配置文件,测试postfix基本发信功能
2、通过用字符端测试收信,并用microsoft outlook 配置测试
3、通过发信认证配置,用字符端测试普通发信测试认证发信,并用microsoft outlook 配置测试
4、通过设置LAMP设置WEB邮箱,登录网页邮箱
5、实现群发邮件
6、限制发送邮件的大小
7、通过配置用户磁盘配额实现限制用户邮箱空间
—以下是postfix常用目录----
/etc/postfix/main.cfg //配置文件主目录
/usr/libexec/postfix/ //可用程序目录
/var/spool/postfix/ //邮件队列目录
--------------------vi编辑器永久显示行数------------
vi ~/.vimrc
set nu
---------检测postfix是否安装以及认证是否支持--------
postconf -a
// 验证是否支持cyrus dovecot功能
systemctl start postfix
netstat -anpt | grep 25 postfix工作在tcp的25端口
systemctl status postfix
-------第一步是配置DNS解析配置----
systemctl stop firewalld
setenforce 0
yum install bind bind-utils -y
vi /etc/named.conf
修改dns的主配置文件
将修改成以下内容:
13行 listen-on port 53 { any; };
19行 allow-query { any; };
vi /etc/named.rfc1912.zones
//配置dns的区域配置文件
zone "lq.com" IN { 正向解析
type master;
file "lq.com.zone";
};
zone "80.168.192.in-addr.arpa" { 反向解析
type master;
file "lq.com.local";
};
vi /var/named/lq.com.zone dns服务的正向区域数据配置文件
NS mail.lq.com.
MX 10 mail.lq.com. //邮件服务器必须配置
mail A 192.168.80.110
vi /var/name/lq.com.local dns
服务的正向区域数据配置文件
NS mail.lq.com.
MX 10 mail.lq.com.
110 PTR mail.lq.com.
rndc-confgen -r /dev/urandom -a //解决启动卡顿问题
systemctl start named
systemctl enable named
vi /etc/resolv.conf
nameserver 192.168.80.189
-------------------测试------------------------------
nslookup mail.lq.com //得出解析结果才可以
nslookup 192.168.80.110
--------------配置postfix基本发信功能----------------
`vi /etc/postfix/main.cf` //编辑postfix服务主配置文件
末尾添加以下内容:(也可以查找修改)
`76 myhostname = mail.bt.com` //邮件名
`83 mydomain = bt.com` //邮件域名
`99 myorigin = $mydomain` //邮件资源起始域,往外发文件所填写的邮件域
`116 inet_interfaces = all` //监听的网络接口
`164 mydestination = $myhostname, $mydomain` //目标域,可以收发邮件的客户端(服务的对象)
`418 home_mailbox = Maildir/` //邮件存放的目录和格式
默认在接收方用户的家目录里面/home/用户名/Maildir/
postfix check 检查配置文件内有没有语法错误
syst
emctl reload postfix
systemctl restart postfix
postconf
//查看postfix的当前配置
postconf -n
//查看postfix非默认配置
-----------------增加邮件测试账号--------------------
`groupadd mailusers` //创建邮件使用者组
`useradd -g mailusers jack` //创建基本组mailusers的用户
useradd -g mailusers tom
`echo "123" | passwd --stdin jack` //设置密码
echo "123" | passwd --stdin tom
注:pos
tfix和vsftpd服务一样,都可以调用本地系统的账户和密码
----------连接服务器的25端口进行简单发信测试----------
yum install telnet
telnet mail.lq.com 25
helo mail.lq.com //声明本机的主机名
mail from:jack@lq.com //声明发件人地址
rcpt to:tom@lq.com //声明收件人地址
data //写正文
i am jack!!
.
quit // 退出
----------使用root查看tom用户是否收到测试邮件----------
cat /home/tom/Maildir/new/
后面内容可用Tab键补全
到此基本发信功能已完成。
------第二步:安装dovecot提供收信服务------
yum install dovecot -y
vi /etc/dovecot/dovecot.conf` //编辑dovecot配置文件
24 protocols = imap pop3 lmtp` 把#去掉让其生效,协议为imap pop3 imtp协议
30 listen = *` 把#去掉让其生效,作用监听所有的110,143端口
48 login_trusted_networks = 192.168.80.0/24` 允许登录的网段地址,可不写
末尾添加以下内容:
disable_plaintext_auth =` no 启用明文认证
ssl = no` 管理加密,no是不加密
cd /etc/dovecot/conf.d/` dovecot子配置文件存放目录
vi 10-mail.conf` //编辑dovecot子配置文件
24 mail
_location = maildir:~/Maildir
指定本地邮箱的存放位置
service dovecot start
//启动服务
netstat -anpt | grep dovecot
// 110 143端口需要监听
---------------------以下测试收信---------------------
telnet mail.lq.com 110 //连接mail.aa.com 的110端口
user tom 登录tom账号
pass 123123 密码输入
list 列表已收邮件
retr 1 读取邮件1
quit 退出
—以上收信方式太不友好,安装MUA软件连接服务器收发邮件—
outlook 或者 Foxmail软件 配置测试。
---------------以下进行发信认证配置--------------
yum install cyrus-sasl*
vi /etc/sasl2/smtpd.conf //编辑配置文件
pwcheck_method: saslauthd //认证方法
mech_list: plain login //机械列表:普通登录
log_level:3 日志级别
vi /etc/sysconfig/saslauthd
7 MECH=shadow 使用本地账号密码验证
service saslauthd start
systemctl enable saslauthd
vi /etc/postfix/main.cf
–在末尾新增–
smtpd_sasl_auth_enable = yes //开启认证
smtpd_sasl_security_options = noanonymous //不允许匿名发信
mynetworks = 127.0.0.0/8 //允许的网段,如果增加本机所在网段就会出现允许不验证也能向外域发信
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
//允许本地域以及认证成功的发信,拒绝认证失败的发信
postfix check 检测配置文件内有没有语法错误
systemctl reload postfix
systemctl restart postfix
-----------------测试普通发信-------------------
telnet mail.lq.com 25
helo mail.lq.com
mail from:jack@lq.com
rcpt to:test@126.com
//提示:Relay access denied,说明认证正在执行。
quit
------测试认证发信,注意:一定要关闭SELINUX-----
------------以下将用户名密码生成密文-------------
printf "jack" | openssl base64
amFjaw==
printf "abc123" | openssl base64
YWJjMT
Iz
--------------字符终端测试认证发信-----------
telnet mail.lq.com 25
hello mai.lq.com //注意是ehlo不是helo
auth login //认证登录
amFjaw== //用户名
YWJjMTIz // 密码
mail from:jack@lq.com //发件人
rcpt to:weisheng213@126.com //收件人
data
this is test
.
quit
配置OUTLOOK认证发信-在账户属性里-服务器-我的服务器要求身份验证
测试……
配置OUTLOOK:选择文件-账户设置-账户设置-选择账户-更改-其它设置-发送服务器-勾选-使用与接收邮件服务器相同设置
----------第四步:配置web邮箱网页收发邮件------------
注意:需要搭建好LAMP环境
--------RPM安装LAMP---------
yum install -y \
httpd \
mariadb-server mariadb \
php \
php-mysql \
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
vi /etc/httpd/conf/httpd.conf
修改成以下内容:
95 ServerName www.lq.com
164 DirectoryIndex index.html index.php
vi /etc/php.ini
878 date.timezone = PRC
日期时区=中华人民共和国
systemctl start httpd.service
systemctl start mariadb.service
systemctl enable httpd
systemctl enable mariadb
netstat -anpt | grep 80
netstat -anpt | grep 3306
vi /var/www/html/index.php
//php探针 验证Apache支持php语言
<?php
phpinfo(); //php函数,解析显示php内容信息。
?>
注:/var/www/html是用软件包安装的httpd服务的网页根目录
php -i
检测
windows浏览器中输入以下:
http://192.168.80.181/
--------进入数据库,建立授权账号-----
mysql_secure_installation
mysql安全初始化安装
mysql -u root -p 123
使用指定用户和密码登录mysql数据库
CREATE DATABASE abc;
创建新的空的数据库
GRANT all ON abc.* TO 'mail'@'%' IDENTIFIED BY '123456';
授权,将abc数据库所有的权限授予用户mail,身份验证密码为123456,“%”表示任意主机
flush privileges;
刷新权限
--------下面测试数据库工作是否正常-----
vi /var/www/html/index.php
删除所有内容后,添加以下内容:
<?php
$link=mysql_connect('192.168.80.181','mail','123456');
if($link) echo "<h1>Success!!</h1>";
else echo "<h1>Fail!!</h1>";
mysql_close();
?>
意思:用mail用户,密码123456,去连接192.168.80.110数据库,如果连接成功显示success!!,失败则显示Fail!!
下载一个网页邮箱的软件包。(小松鼠网页邮箱为例)
http://www.squirrelmail.org/download.php 下载地址
tar xzvf squirrelmail-webmail-1.4.22.tar.gz
tar xzvf all_locales-1.4.18-20090526.tar.gz -C squirrelmail-webmail-1.4.22
cp -rv squirrelmail-webmail-1.4.22 /var/www/html/mail
cd /var/www/html/mail
mkdir attach
//创建附件目录,用于存放附件
chown -R apache:apache attach/ data/
//更改attach/ data/归属,让程序账号apache便于运行
cd config
//切换到配置文件存放的目录
cp config_default.php config.php
//创建squirrelmail配置文件
vi config.php
//修改squirrelmail配置文件
118 $domain = 'lq.com';
/域名
231 $imap_server_type = 'dovecot';
//imap服务器类型设置为dovecot
499 $data_dir = '/var/www/html/mail/data';
//原件存放位置
517 $attachment_dir = '/var/www/html/mail/attach/
'//附件存放位置;
1012 $squirrelmail_default_language = ‘zh_CN’;//squirrelmail默认语言设置为中文
1027 $default_charset = ‘zh_CN.UTF-8’;` //字符编码设置为中文
------以下设置邮件组-----
vi /etc/aliases
//别名配置文件
90 student: jack,tom
添加student别名,代表jack,tom
newaliases
//生成hash数据库文件
vi /etc/postfix/main.cf
386 alias_maps = hash:/etc/aliases
如果前面有“#”号,就把“#”去掉
postfix reload
测试向student@lq.com发信的时候jack,tom都会收到。
----以下设置邮件大小------
vi /etc/postfix/main.cf
message_size_limit = 5120000 //定义每次发送邮件大小限制,单位是Byte
postfix reload
通过增加大附件测试效果。
----以下通过配置用户磁盘配额实现限制用户邮箱空间-----
umount /home
vi /etc/fstab
UUID=beec665d-7867-4133-8c3a-466ad6018413 /home xfs defaults,usrquota,grpquota 0 0
mount -a
quotaon -p /home 查看有没有开启磁盘限额
edquota -u jack //对用户Jack做磁盘配额,使用过,才会出现
repquota /home/ //查看home目录使用情况
增加附件测试效果
/home/jack/Maildir/
new 新邮件
cus 已读邮件
tmp 草稿邮件