SMTP
一、准备工作
修改两个主机的主机名 1.mailqq.qq.com 2.mail163.163.com
先配置dns 邮件域名 在mailqq.qq.com主机上配置dns
配置/etc/named.rfc1912.zones
配置qq.com 163.com 两个域名
二、配置邮件
mta: 邮件软件 postfix sendmail qmail
mtp:
1.先查看自己的mta是什么软件
alternatives --display mta
2.配置 /etc/postfix/main.cf
两个主机都要写
3.配置火墙(两台主机都配置)
firewall-cmd --permanent --add-service=smtp
firewall-cmd --reload
163.com主机还需要配置 firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
mailq: 邮件等待队列(未发出去的邮件会存在这)
postqueue -f 刷新邮件等对队列(重新发送一遍)
postsuper -d (邮件队列中的邮件编码) 删除该邮件
rm -fr /var/spool/postfix/maildrop/ (清空邮件队列)
/var/log/maillog (邮件日志)
三、远程发送
1.远程机器连接qq.com发送邮件
如果没有telnet先下载安装telnet
其他同网段机器 telnet 172.25.15.10 25
(qq.com主机) (25端口)
ehlo hello (查看设备信息(打招呼))
mail from:root@qq.com (发送者)
rcpt to:root@163.com (接受者)
data (输入邮件内容)
2.拒绝某一个机器远程发送
postconf -d (查看默认配置)
postconf -e (修改或者添加选项直接将命令写入文件中) 写入到 /etc/postfix/main.cf
postconf -d | grep client
postconf -e “smtpd_client_restrictiOns= check_client_access hash:/etc/postfix/access”
把 172.25.15.250 REJECT 写入 /etc/postfix/access
(被禁止的机器的IP)
postmap /etc/postfix/access (hash加密生成 .db 文件)
测试:
3.禁止某一用户发送邮件
先删除掉上一步的禁止机器发送邮件
在/etc/postfix/access中删除 172.25.15.250 REJECT 那一行
postmap access (重新生成hash加密文件 access.db)
postconf -d | grep sender
查找到 smtpd_sender_restrictiOns= 那一行
postconf -e “smtpd_sender_restrictiOns= check_sender_access hash:/etc/postfix/sender”
/etc/postfix/sender 这个文件不存在 需要自己创建
vim /etc/postfix/sender
把 student@qq.com REJECT 写入该文件
postmap /etc/postfix/sender (hash加密 生成.db 文件)
重启 postfix 服务
测试:
4.禁止某一用户接受邮件
Postconf -d | grep recip
查找到 smtpd_recipient_restrictiOns=
postconf -e
“smtpd_recipient_restrictiOns= check_recipient_access hash:/etc/postfix/dest”
自己创建 /etc/postfix/dest 文件
将 student@qq.com REJECT 写入到上文件中
postmap dest (hash加密该文件生成 .db 文件)
重启 postfix 服务
测试:
5.空壳邮件服务器 (保护主服务器 空壳服务器不留存邮件 直接转发到主服务器)
两台机器 mailqq.qq.com 修改为 null.qq.com(空壳邮件服务器)
mail163.163.com 修改为 mailserver.qq.com (主服务器)
修改server主机的配置
vim /etc/postfix/main.cf
重启postfix服务
修改 null主机的配置
/etc/postfix/main.cf
重启postfix服务
测试:
在空壳服务器上接受不到该邮件:
在主服务器上收到了该邮件:
6.远程接受邮件
安装 dovecot 软件
firewall-cmd --reload
将端口添加到防火墙
vim /etc/dovecot/dovecot.conf
接着配置 /etc/dovecot/conf.d/10-mail.conf
测试: 在测试机器上安装 mutt 软件
在接收服务器上给student 发送邮件
在接受服务器上清空 邮件日志 排错
> /var/log/maillog
在测试机器上 输入指令 mutt -f pop://student@172.25.15.11
提示错误 查看接收服务器的邮件日志
在studnet下创建 mkdir /home/student/mail/.imap
在接收服务器上清空 邮件日志 继续排错
> /var/log/maillog
继续在测试机器上 输入指令 mutt -f pop://student@172.25.15.11
提示错误 继续查看接收服务器的邮件日志
在student下
touch /home/student/mail/.imap/INBOX
在测试机器上 输入指令 mutt -f pop://student@172.25.15.11
成功
7.postfix 数据库
yum install mariadb mariadb-server php php-mysql http -y
安全初始化 mysql
mysql -uroot -predhat
CREATE USER postfixuser@localhost identified by ‘redhat’ (创建数据库用户)
GRANTS SELECT,INSERT ON emali.* TO postfixuser@localhost;(给用户添加权限)
创建数据库 创建数据表
1.图形界面模式
下载phpMyAdmin-3.4.0-all-languages.tar.bz2
tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2 -C /var/www/html/
将解压后的文件 修改名字为 mysqladmin
cp -p config.sample.inc.php config.inc.php
修改 config.inc.php 中添加 COOKIE
firewall-cmd --permanent --add-service=http
firewall-cmd --reload
通过火狐浏览器 登陆 创建数据库和表(很简单)
表有4个列 username password domain(域名) maildir (mail存放目录)
2.命令模式
CREATE DATABASE email (创建email数据库) 创建表如下
录入数据
3.网络用户邮件服务配置
写文件 /etc/postfix/my-emailuser.cf
where_field = username (在哪一列查找所输入的内容)
写文件 /etc/postfix/my-emaildomain.cf
写文件 /etc/postfix/my-emailmaildir.cf
检测这几个文件
在主机上创建 用户vmail uid=1092 gid=1092
将指令写入到文件中 /etc/postfix/main.cf
上述命令通过指令 postconf -d | grep virtual 可查找到
重启服务
测试: mail@test.163.com
写入内容,发送成功。 cd /home/vmail/163.com/test/ 查看文件内容 为 邮件内容。
邮件底层发送接收服务架设
通过dovecot 收取 邮件
postfix dovecot
1.邮件服务器的配置
yum install dovecot -y
vim /etc/dovecot/dovecot.conf
vim /etc/dovecot/conf.d/10-auth.conf
上面的文件可以看出来 要去修改auth-sql.conf.ext 文件
查看 auth-sql.conf.ext
可以看出 文件内容要求复制
/usr/share/doc/dovecot-2.2.10/example-confis/dovecot-sql.conf.ext
到 /etc/dovecot/ 下
接着配置该文件(/etc/dovecot/dovecot-sql.conf.ext)
(密码类型为明文)
%u: username
%n: user@domain 中的 user
%d: user@domain 中的 domain
%h: home directory
接着修改 /etc/dovecot/conf.d/10-mail.conf
在邮件服务器的机器上 安装 dovecot-mysql 软件
重启服务
测试:
在其他测试机器上 telnet 172.25.15.10 110
接着在测试机器上 安装 雷鸟邮件客户端
yum install thunderbird-31.2.0-1.el7.x86_64.rpm
选择左下角
添加数据库里有的 邮件账户
即可登陆成功
【基础部分】之SMTP相关配置