Mail

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

############################

#######   postfix #######

############################

·准备

wKiom1klrmnxQ78CAAAPfJjIwIA246.jpg

wKioL1klrmnwZDlOAAASiANdkik335.jpg

wKiom1klrmug6dBfAACXCFiv_mw156.jpg

wKiom1klrmuxtmYaAACwby55jdg315.jpg

wKiom1klrtvwwpo5AAAVmcSbiwM640.jpg

wKioL1klrxaA_OSXAABOlJ4u5Kg022.jpg

wKiom1klrxeB3bUVAABH4EKfEW4193.jpg

wKioL1klr9WhuH3ZAAAwc1kNCsg036.jpg

wKiom1klr13jXKhlAAA0WnhYr_I532.jpg

wKiom1klr_fgEeJcAAAtEF0FC-8925.jpg

wKiom1klr5zAeWpcAAAQ6w8Xch4031.jpg

wKioL1klr5zgVEpOAAAM2OUlxv0013.jpg

wKioL1klsCfRxD-oAAB4cpMn_B4188.jpg

wKioL1klsCeDer_nAABqciC6Smw197.jpg

wKiom1klsGWzlfa_AAAPj_QRczs032.jpg

wKioL1klsGbQzjB8AAAP03KJPFw722.jpg

wKiom1klsGig63EpAABc8T31M1g988.jpg




1.

postfix提供smtp协议用来投递邮件

默认端口25

/var/log/maillog##服务日志

mail root@westos.com

Subject: hello

hello world

.#用"."来结束录入内容并发送

mailq##查看邮件队列

postqueue -f##重新处理邮件队列

 

默认情况下邮件端口只在127.0.0.1上开启

 

2.

配置

vim /etc/postfix/main.cf

116 inet_interfaces = all##25端口开启的网络接口

76 myhostname = westos-mail.westos.com##指定mta主机名称

83 mydomain = westos.com##指定mta的域名

99 myorigin = westos.com##指定邮件来源结尾(@后面的字符内容)

164 mydestination = $myhostname, $mydomain, localhost##接收邮件结尾字符的指定

 wKioL1kpe0Gi-osdAAAkIf6eVxg203.jpg

wKiom1kpe86wUImrAAAOnFKpHe8384.jpg

wKioL1kpe8_RtqUVAAAGg6Mx5-I134.jpg

wKiom1kpe8-iQ9t2AAAGCFl2sf4372.jpg

wKioL1kpe9DDJJ6aAAAI2_6AKbA827.jpg

wKioL1kpe9Chnld7AAAFkCyHzvU329.jpg



systemctl restart postfix.service

systemctl stop firewalld

wKioL1kpfBXAma7HAAANTmUC-DI227.jpg

 

wKiom1kpf5PTuFQXAAAwgpRxXpo350.jpg

wKioL1kpf5ORX-pHAABqyhKZqNg319.jpg

 


 

3.邮件别名

[root@qq-mail ~]# vim /etc/aliases

别名:真名##邮件别名

别名::include:filename##邮件群发

 wKioL1kpgNnRlj2IAAAOkK-QyCY855.jpg

wKiom1kpgbyg4RESAAAeqN_ANGo952.jpg

wKioL1kpgbyBcL9sAAARoAOjI4Q995.jpg

wKiom1kpgb3BkdIEAAAGl3q9NnA999.jpg



vim filename

user1

user2

 

postalias /etc/aliases

 wKioL1kpgdfTnnkIAAAP0_csM4U549.jpg

mail 别名

 

wKioL1kpg4SgDBcLAAAc3HJegjs007.jpg

wKiom1kpg4SwdadGAAB53Gzk1r4659.jpg

wKioL1kpg4XAdJGwAAAhaDDu0Is810.jpg

wKiom1kpg4WDfIHLAABQ2H1FA2k458.jpg


 

4.通过远程主机测试邮件服务

[kiosk@foundation0 Desktop]$ telnet 172.25.254.100 25

Trying 172.25.254.100...

Connected to 172.25.254.100.

Escape character is '^]'.

220 westos-mail.westos.com ESMTP Postfix

ehlo hello

250-westos-mail.westos.com

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

mail from:root@westos.com

250 2.1.0 Ok

rcpt to:root@qq.com

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

adsf

asdf

asdf

.

 wKioL1kpg9Cibma1AAAOyz_KASM243.jpg


5.邮件客户端的访问控制

#限制客户端

mta上

postconf -e "smtpd_client_restrictions = check_client_access hash:/etc/postfix/access"

 

vim /etc/postfix/access

172.25.254.22REJECT

 

postmap /etc/postfix/access

 

systemctl restart postfix

 

测试

[root@foundation22 ~]# telnet 172.25.254.100 25

Trying 172.25.254.100...

Connected to 172.25.254.100.

Escape character is '^]'.

220 westos-mail.westos.com ESMTP Postfix

mail from:root@westos.com

250 2.1.0 Ok

rcpt to:root@qq.com

554 5.7.1 <unknown[172.25.254.22]>: Client host rejected: Access denied

 wKioL1kjpbXglJjqAACcIaT8qS4245.png

##限制用户发送

postconf -e "smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender"

 

vim /etc/postfix/sender

student@westos.comREJECT

 

postmap  /etc/postfix/sender

 

systemctl restart postfix

 

测试

[kiosk@foundation0 Desktop]$ telnet 172.25.254.100 25

Trying 172.25.254.100...

Connected to 172.25.254.100.

Escape character is '^]'.

220 westos-mail.westos.com ESMTP Postfix

mail from:student@westos.com

250 2.1.0 Ok

rcpt to:root@westos.com

554 5.7.1 <student@westos.com>: Sender address rejected: Access denied

 

 wKioL1kjqIrDTwD3AADUqLbnVgA319.png

##限制用户接收

postconf -e "smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recip"

 

vim /etc/postfix/recip

westos@westos.comREJECT

 

postmap /etc/postfix/recip

 

systemctl restart postfix

 

测试

 

[kiosk@foundation0 Desktop]$ telnet 172.25.254.100 25

Trying 172.25.254.100...

Connected to 172.25.254.100.

Escape character is '^]'.

220 westos-mail.westos.com ESMTP Postfix

mail from:westos@westos.com

250 2.1.0 Ok

rcpt to:root@westos.com

250 2.1.5 Ok

data

354 End data with <CR><LF>.<CR><LF>

adsf

adsf

asdf

.

250 2.0.0 Ok: queued as DE17D2461EA

qiut

502 5.5.2 Error: command not recognized

mail from:root@westos.com

250 2.1.0 Ok

rcpt to:westos@westos.com

554 5.7.1 <westos@westos.com>: Recipient address rejected: Access denied

 wKioL1kjqlvS5f74AACYj8UcNfw891.png

 

##出站地址伪装

postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"

 

vim /etc/postfix/generic

westos@westos.comhello@sb.com

 

postmap /etc/postfix/generic

 

systemctl restart postfix

 

测试

su - westos

mail root@qq.com

 

##入战地址转换

dns mx 记录解析先做好

postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"

 

/etc/postfix/virtual

虚拟名字真实用户

hello@sb.comwestos@westos.com

 

postmap /etc/postfix/virtual

 

systectl restart postfix

 

测试

mail hello@sb.com



####################################

#########   dovecot  ###############

####################################

1.

dovecot 用来提供收件协议

pop3   110

imap   143

pop3s  995

imaps  993

 

/etc/services   ###所有服务的所有端口

 

2.

yum install dovecot y  

 

 

3.

vim /etc/dovecot/dovecot.conf

24 protocols = imap pop3 lmtp

48 login_trusted_networks = 0.0.0.0/0

49 disable_plaintext_auth = no

 

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

30 mail_location = mbox:~/mail:INBOX=/var/mail/%u

 

systemctl restart dovecot

mkdir /etc/skel/mail/.imap -p           ###在用户骨架文件中建立所需目录及文件

touch /etc/skel/mail/.imap/INBOX

 

useradd westos

passwd westos

测试

yum install mutt -y

mutt -f pop://westos@172.25.254.116

 

 wKiom1kjuGaRH7oxAABaOjK-s3Q061.png

###################

thunderbrid

####################

thunderbird

收发邮件应用

 

 

 wKioL1klL0vABD4sAACj5RF699U131.png

 

 

 

 

 

#########################

postfix + mariadb

#########################

准备工作

yum install httpd php php-mysql mariadb-server -y

config mariadb

mysql_secure_installation

create databs

create table

 

1.

vim /etc/postfix/mailuser.cf  ##用户名称查询

host = localhost##数据库所在主机

user = postuser##登陆数据库的用户

password = 123##登陆数据库的密码

dbname = email##postfix要查询的名称

table = emailuser##postfix要查询的表的名称

select_field = username##postfix要查询的字段

where_field = username##用户给定postfix的查询条件

 

 

vim /etc/postfix/maildomain.cf      ##用户域名查询

host = localhost

user = postuser

password = 123

dbname = email

table = emailuser

select_field = domain

where_field = domain

 

vim /etc/postfix/mailbox.cf     ##用户邮箱位置查询

host = localhost

user = postuser

password = 123

dbname = email

table = emailuser

select_field = maildir

where_field = username

 

postmap -q "mmm@mmm.com" mysql:/etc/postfix/mailuser.cf

mmm@mmm.com

postmap -q "mmm.com" mysql:/etc/postfix/maildomain.cf

mmm.com

postmap -q "mmm@mmm.com" mysql:/etc/postfix/mailbox.cf

/mnt/mmm.com/mmm

 

配置postfix

groupadd -g 666 vmail

useradd -s /sbin/nologin -u 666 -g 666 vmail

 

postconf -e "virtual_mailbox_base = /home/vmail"##设定虚拟账户的邮件目录

postconf -e "virtual_uid_maps = static:666"##虚拟账户建立文件的uid

postconf -e "virtual_gid_maps = static:666"##虚拟用户建立文件的gid

postconf -e "virtual_alias_maps = mysql:/etc/postfix/mailuser.cf"

postconf -e "virtual_mailbox_domains = mysql:/etc/postfix/maildomain.cf"

postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf"


本文转自  夏梨巴人  51CTO博客,原文链接:http://blog.51cto.com/12774035/1929165




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
e-mail
e-mail
87 0
|
PHP Unix
|
开发工具 C++ 网络安全
|
Web App开发
|
关系型数据库 MySQL 开发工具