3-unit4 postfix+mysql

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

##########postfix+mariadb#######
发送邮件

准备工作
yum install httpd php php-mysql mariadb-server -y

##配置mysql

config phpmyadmin
config mariadb
mysql_secure_installation
create db
create table
create usermessage
create dbuser
wKiom1ktUU_RTUddAAEJlAkhouI608.png


wKioL1ktUVGwzkvKAAHhyh6parE615.png

 ##添加数据库用户,并给其授权

wKiom1ktUVLzIsPzAAG7HYvbSVU418.png

wKioL1ktUVKzIRqqAAGSX3_cAVY627.png



1.
vim /etc/postfix/mailuser.cf    ##用户名称查询
host = localhost        ##数据库所在主机
user = postuser         ##登陆数据库的用户
password = postuser     ##登陆数据库的用户密码
dbname = email          ##postfix要查询的库的名称
table = emailtable      ##postfix要查询的表的名称
select_field = username     ##postfix要查询的字段
where_field = username      ##用户给定postfix的查询条件

vim /etc/postfix/maildomain.cf  ##用户域名查询
host = localhost
user = postuser
password = postuser
dbname = email
table = emailtable
select_field = domain
where_field = domain

vim /etc/postfix/mailbox.cf     ##用户邮箱位置查询
host = localhost
user = postuser
password = postuser
dbname = email
table = emailtable
select_field = maildir
where_field = username 


wKioL1ktUVOiN1oLAAHEdrbwPC8399.png
测试:
 postmap -q "cui@cui.com"mysql:/etc/postfix/mailuser.cf
cui@cui.com
 postmap -q "cui.com"mysql:/etc/postfix/maildomain.cf
cui.com
 postmap -q "cui@cui.com"mysql:/etc/postfix/mailbox.cf
/mnt/cui.com/cui/
wKiom1ktUVPjLF_-AAErAPceGVQ908.png

####配置postfix
groupadd -g 123 vmail        ##添加用户组并指定gid为123

useradd -s /sbin/nologin -u 123 vmail -g 123    ##添加用户,并指定uid和gid为123

wKiom1ktUVTzGO9sAAEXyHBo7Iw480.png
postconf -d |grep virtual   ##查询virtual
wKiom1ktUVXiRV0-AANF-EzYu14100.png

postconf -e "virtual_mailbox_base = /home/vmail"    ##设定虚拟用户的邮件目录
postconf -e "virtual_uid_maps = static:123"     ##虚拟用户建立文件的uid
postconf -e "virtual_gid_maps = static:123"     ##虚拟用户建立文件的gid
postconf -e "virtual_alias_maps = mysql:/etc/postfix/mailuser.cf"   ##指定mysql查找主机
postconf -e "virtual_mailbox_domains =mysql:/etc/postfix/maildomain.cf"    ##指定mysql查找域名
postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf"  ##指定mysql查找邮箱

systemctl restart postfix        ##重启postfix服务

wKioL1ktVSSx5f8aAAHPbzVXH9A469.png
wKiom1ktUVaSU389AAG_42OU_mQ693.png

wKioL1ktUVei6EvrAAGDbuSobks940.png

##测试:发送给cui@cui.com的邮件在/home/vmail/cui.com/cui/new/里找到

wKiom1ktUVfj75ICAAEWmux_AJk733.png

wKioL1ktUViBu6rTAAIPckmkbVw464.png



############dovecot+mysql############

接收邮件
1.
yum install dovecot dovecot-mysql -y

##dovecot是一个开源的 IMAP 和 POP3 邮件服务器,支持 Linux,支持发送邮件

##dovecot-mysql  dovecot软件的插件,让此软件可以识别mysql
2.
vim /etc/dovecot/dovecot.conf 
 24 protocols = imap pop3 lmtp      ##支持收件协议
 48 login_trusted_networks = 0.0.0.0/0  ##信任网络
 49 disable_plaintext_auth = no     ##开启明文认证
wKioL1ktUVngXlrzAAB9jBz42iQ302.png
wKiom1ktUVnis1_gAADIcA0QaJM242.png

vim /etc/dovecot/conf.d/10-auth.conf 
123 !include auth-sql.conf.ext      ##开启mysql的认证方式  

wKioL1ktVgPTX_rdAABrXPNWGBQ083.png

##生成dovecot读取mysql的配置
cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext/etc/dovecot/dovecot-sql.conf.ext
wKioL1ktVgTi5szJAAEjsT0MBLo003.png

vim /etc/dovecot/dovecot-sql.conf.ext 
 32 driver = mysql          ##数据库类型
 71 connect = host=localhost dbname=emailuser=postuser password=postuser   ##查询时用到的库,用户,密码
 78 default_pass_scheme = PLAIN     ##默认认证方式为明文
107 password_query = \          ##查询密码匹配
108   SELECT username, domain, password\
109   FROM emailuser WHERE username ='%u' AND domain = '%d'    
125 user_query = SELECT maildir, 123 AS uid, 123 AS gid FROM emailuser WHEREusername = '%u'    ##查询邮件内容
wKiom1ktVgOy1SDoAAA14eq4inY632.png
wKioL1ktVgPxbGa9AADN_03oPCc983.png
wKiom1ktVgLA_p3MAAC9m-YUyQE779.png
wKiom1ktVgLhrBzWAACf8LUJj9k627.png


vim /etc/dovecot/conf.d/10-mail.conf
 30 mail_location =maildir:/home/vmail/%d%n    ##指定邮件位置
168 first_valid_uid = 123           ##邮件文件查询用户身份
175 first_valid_gid = 123
wKioL1ktUVqjPmNCAABqylOYSUg547.png
wKioL1ktVt_zZPtIAAEYINvRvOw873.png
systemctl restart dovecot


测试:
[root@foundation62 ~]# telnet 172.25.254.150 110
Trying 172.25.254.150...
Connected to 172.25.254.150.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user cui@cui.com
+OK
pass cui
+OK Logged in.
quit
+OK Logging out.
Connection closed by foreign host.
[root@foundation62 ~]# 

wKiom1ktUViz_gU2AAEQu8EmpRw688.png
 

3.空壳邮件

westos-mail主机为真机

qq-mail主机为空壳

在qq-mail上执行

vim   /etc/postfix/main.cf

myorigin = westos.com    ## 设置为真实的主机域名wKiom1ktVgSz8yK9AABThmiVQLg209.png

mydestination =          ##空壳邮件不接受邮件,所以不设置

wKiom1ktVgXy4G5WAAB4IzIvVCY552.png

relayhost = 172.25.254.162  ##接替的真实主机的IP

wKioL1ktVgXQzIdMAAB_LPgi00s405.png

##测试:空壳主机给本机root发送邮件但不接收,162主机接收邮件

wKioL1ktVgaA-jlEAAGzSKfi8rE529.png

wKiom1ktVgbiZg56AAHX6GpI-MM597.png


本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1930737


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
关系型数据库 MySQL 开发工具
|
关系型数据库 MySQL 测试技术
|
MySQL 关系型数据库 Shell

推荐镜像

更多