邮件服务

############邮件服务####

1.先配置dns服务
测试结果:
主机westos-mail.westos.com:
[root@westos-mail ~]# dig -t mx westos.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t mx westos.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36618
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;westos.com.            IN    MX

;; ANSWER SECTION:
westos.com.        86400    IN    MX    1 172.25.254.206.

;; AUTHORITY SECTION:
westos.com.        86400    IN    NS    dns.westos.com.

;; ADDITIONAL SECTION:
dns.westos.com.        86400    IN    A    172.25.254.206

;; Query time: 0 msec
;; SERVER: 172.25.254.206#53(172.25.254.206)
;; WHEN: Sat May 20 02:14:27 EDT 2017
;; MSG SIZE  rcvd: 103

[root@westos-mail ~]#
主机qq-mail.qq.com:
[root@qq-mail ~]# dig -t mx qq.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t mx qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15046
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;qq.com.                IN    MX

;; ANSWER SECTION:
qq.com.            86400    IN    MX    1 172.25.254.106.

;; AUTHORITY SECTION:
qq.com.            86400    IN    NS    dns.qq.com.

;; ADDITIONAL SECTION:
dns.qq.com.        86400    IN    A    172.25.254.206

;; Query time: 1 msec
;; SERVER: 172.25.254.206#53(172.25.254.206)
;; WHEN: Sat May 20 02:14:54 EDT 2017
;; MSG SIZE  rcvd: 99

[root@qq-mail ~]#
2.发送和接受邮件
postfix提供smtp协议用来投递邮件
默认端口25
/var/log/maillog    ##服务日志
postqueue -f        ##重新处理邮件队列
配置
[root@westos-mail ~]# 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 myorigin = $myhostname, $mydomain,localhost    ##接收邮件字符结尾的指定


[root@westos-mail ~]# systemctl restart postfix.service
测试:
[root@westos-mail ~]# mail root@qq.com    ##发送邮件
Subject: iuhoi
sdds
dsds
.        ##用“.”来结束录入内容 并发送
EOT
[root@westos-mail ~]# mailq    ##查看邮件队列
Mail queue is empty
[root@westos-mail ~]# mail    ##查看接受邮件
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N  1 root                  Sat May 20 03:11  23/733   "ijsoijqsoij"
& 1
Message  1:
From root@qq.com  Sat May 20 03:11:15 2017
Return-Path: <root@qq.com>
X-Original-To: root@westos.com
Delivered-To: root@westos.com
Date: Sat, 20 May 2017 03:11:15 -0400
To: root@westos.com
Subject: ijsoijqsoij
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@qq.com (root)
Status: R

hxiuhx
xsax
xssaa

& q
Held 1 message in /var/spool/mail/root
You have mail in /var/spool/mail/root
[root@westos-mail ~]#
3.邮件别名
邮件接受方设置别名
[root@qq-mail ~]# vim /etc/aliases
别名:    真名            ##邮件别名
别名:    :include:filename    ##邮件群发

vim filename
user1
user2

postalias /etc/aliases        ##使配置生效

mail 别名


4.远程邮件发送测试
[kiosk@foundation6 Desktop]$ telnet 172.25.254.106 25    ##远程邮件发送连接
Trying 172.25.254.106...
Connected to 172.25.254.106.
Escape character is '^]'.
220 qq-mail.qq.com ESMTP Postfix
ehlo hello        ##测试连接
250-qq-mail.qq.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:root@qq.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>
asads
sd
.            ##以“.”结束并发送

250 2.0.0 Ok: queued as 377DB17E84B    ##发送成功


5.邮件客户端的访问控制
a.拒绝某个客户端访问
在mta上

[root@westos-mail ~]# postconf -e "smtpd_client_restrictions = check_client_access hash:/etc/postfix/access"        ##执行该操作,会生成如下配置文件


[root@westos-mail ~]# vim /etc/postfix/
access         generic        main.cf        moreuser       transport
canonical      header_checks  master.cf      relocated      virtual
[root@westos-mail ~]# vim /etc/postfix/access         ##编辑拒绝的配置文件
文件末尾:
172.25.254.6 REJECT
[root@westos-mail ~]# postmap /etc/postfix/access
[root@westos-mail ~]# ls /etc/postfix            ##生成检测文件
access     canonical  header_checks  master.cf  relocated  virtual
access.db  generic    main.cf        moreuser   transport
[root@westos-mail ~]# systemctl restart postfix        ##重启服务
[root@westos-mail ~]#
测试结果:
[kiosk@foundation6 Desktop]$ telnet 172.25.254.206 25
Trying 172.25.254.206...
Connected to 172.25.254.206.
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.6]>: Client host rejected: Access denied
quit
221 2.0.0 Bye
Connection closed by foreign host.

[kiosk@foundation6 Desktop]$

6.限制用户发送邮件

[root@westos-mail ~]# postconf -e "smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender"
[root@westos-mail ~]# vim /etc/postfix/sender    
student@westos.com    REJECT


[root@westos-mail ~]# postmap /etc/postfix/sender
[root@westos-mail ~]# systemctl restart postfix

测试:
[kiosk@foundation6 Desktop]$ telnet 172.25.254.206 25
Trying 172.25.254.206...
Connected to 172.25.254.206.
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   ##用户发送邮件被拒绝
quit
221 2.0.0 Bye
Connection closed by foreign host.
[kiosk@foundation6 Desktop]$

##限制用户接收邮件####

[root@westos-mail postfix]# useradd linux
[root@westos-mail postfix]# postconf -e "smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipt"
[root@westos-mail postfix]# vim /etc/postfix/recipt    ##被限制的用户
linux@westos.com    REJECT
[root@westos-mail postfix]# postmap /etc/postfix/recipt    ##生成.db文件
[root@westos-mail postfix]# systemctl restart postfix.service
[root@westos-mail postfix]#
 
测试:
[kiosk@foundation6 Desktop]$ telnet 172.25.254.206 25
Trying 172.25.254.206...
Connected to 172.25.254.206.
Escape character is '^]'.
220 westos-mail.westos.com ESMTP Postfix
mail from:linux@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>
we
wd
.
250 2.0.0 Ok: queued as 2C3AE24627C
mail from:root@westos.com
250 2.1.0 Ok
rcpt to:linux@westos.com    ##接收邮件被拒绝
554 5.7.1 <linux@westos.com>: Recipient address rejected: Access denied
quit
221 2.0.0 Bye
Connection closed by foreign host.
[kiosk@foundation6 Desktop]$

########出站地址伪装#####

[root@westos-mail postfix]# postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"
[root@westos-mail postfix]# vim /etc/postfix/generic
真实用户        虚拟名称
linux@westos.com    hello@hello.com
[root@westos-mail postfix]# postmap /etc/postfix/generic
[root@westos-mail postfix]# systemctl restart postfix
测试:
邮件发送方:
[root@westos-mail postfix]# su - linux    ##进入linux用户
[linux@westos-mail ~]$ mail root@qq.com    ##给root用户发送邮件
Subject: sda
sa
x
.
EOT
[linux@westos-mail ~]$ exit
logout
邮件接收方:
[root@qq-mail ~]# mail root@qq.com    ##查看该用户的邮件
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 2 messages 1 new
    1 root                  Sat May 20 03:10  23/742   "iuhoi"
>N  2 hello@hello.com       Sat May 20 22:31  22/716   "sda"
& q
Held 2 messages in /var/spool/mail/root
You have mail in /var/spool/mail/root
[root@qq-mail ~]#

#######入站地址转换###

dns 解析做好,可以解析到虚拟名称的域名
[root@westos-mail postfix]# dig -t mx hello.com

; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> -t mx hello.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46785
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;hello.com.            IN    MX

;; ANSWER SECTION:
hello.com.        86400    IN    MX    1 172.25.254.206.

;; AUTHORITY SECTION:
hello.com.        86400    IN    NS    dns.hello.com.

;; ADDITIONAL SECTION:
dns.hello.com.        86400    IN    A    172.25.254.206

;; Query time: 0 msec
;; SERVER: 172.25.254.206#53(172.25.254.206)
;; WHEN: Sat May 20 22:35:24 EDT 2017
;; MSG SIZE  rcvd: 102
[root@westos-mail postfix]# postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
[root@westos-mail postfix]# vim /etc/postfix/virtual
虚拟名称        真实用户
hello@hello.com        linux@westos.com

[root@westos-mail postfix]# postmap /etc/postfix/virtual
[root@westos-mail postfix]# systemctl restart postfix
测试:
邮件发送方:
[root@qq-mail ~]# mail hello@hello.com    ##给该用户发送邮件
Subject: wdes
sdsw
.
EOT
[root@qq-mail ~]#
邮件接收方:
[root@westos-mail postfix]# su - linux    ##进入linux用户
Last login: Sat May 20 22:30:51 EDT 2017 on pts/0
[linux@westos-mail ~]$ mail    ##查看该用户的邮件
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/linux": 1 message 1 new
>N  1 root                  Sat May 20 22:41  21/712   "wdes"
& 1
Message  1:
From root@qq.com  Sat May 20 22:41:34 2017    ##邮件发送方
Return-Path: <root@qq.com>
X-Original-To: hello@hello.com            ##邮件接收方为虚拟名称
Delivered-To: linux@westos.com            ##转换为真实用户
Date: Sat, 20 May 2017 22:41:33 -0400
To: hello@hello.com
Subject: wdes
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@qq.com (root)
Status: R

sdsw

&q
Held 1 message in /var/spool/mail/linux
You have mail in /var/spool/mail/linux
[linux@westos-mail ~]$  

#############dovecot服务#############

1.
/etc/services        ##文件中提供了所有服务及对应的端口
/etc/shells
/etc/skel        ##用户骨架文件,所有新建用户家目录都和它的结构相同
dovecot 用来提供收件协议
pop3        端口110
imap        端口143
imaps        端口993
pop3s        端口995
2.
yum install dovecot -y        ##安装邮件接收服务
3.
[root@westos-mail ~]# vim /etc/dovecot/dovecot.conf    ##编辑主配置文件
24 protocols = imap pop3 lmtp        ##允许的协议
48 login_trusted_networks = 0.0.0.0/0    ##允许登陆的网段
49 disable_plaintext_auth = no         ##允许明文认证


[root@westos-mail ~]# vim /etc/dovecot/conf.d/10-mail.conf ##编辑子配置文件
30 mail_location = mbox:~/mail:INBOX=/var/mail/%u ##邮件存放地址,%u用户名称


[root@westos-mail ~]# systemctl restart dovecot
测试准备:
[root@westos-mail ~]# su - linux        ##进入测试用户
Last login: Sat May 20 22:41:44 EDT 2017 on pts/0
[linux@westos-mail ~]$ mkdir mail/.imap -p
[linux@westos-mail ~]$ touch mail/.imap/INBOX    ##建立存放文件
远程登陆测试:
[root@foundation6 Desktop]# yum install mutt -y
[root@foundation6 Desktop]# mutt -f pop://linux@172.25.254.206

输入密码进入后,显示邮件页面


##########thunderbird######

1.软件安装

rpm -ivh thunderbird-31.2.0-1.el7.x86_64.rpm                ##安装软件


 

2.创建远程用户



3.发送,接收邮件

 

#######postfix+mariadb####

1.

创建好数据库服务,并配置成功

建立一个新的数据库,并在其中新建一个表,格式如下:

然后执行如下操作:

[root@qq-mail postfix]# vim /etc/postfix/mailuser.cf
host = localhost        ##登陆数据库所在主机
user = postuser            ##登陆数据库的用户
password = postuser        ##登陆数据库的密码
dbname = mailuser        ##postfix要查询的名称
table = emailuser        ##postfix要查询的表的名称
select_field = username        ##postfix要查询的字段
where_field = username        ##用户给定postfix的查询条件
[root@qq-mail postfix]# postmap -q "hello@hello.com" mysql:/etc/postfix/mailuser.cf
hello@hello.com
[root@qq-mail postfix]# vim /etc/postfix/maildomain.cf
host = localhost
user = postuser
password = postuser
dbname = mailuser
table = emailuser
select_field = domain
where_field = domain
[root@qq-mail postfix]# postmap -q "hello.com" mysql:/etc/postfix/maildomain.cf  
hello.com
[root@qq-mail postfix]# vim /etc/postfix/mailbox.cf
host = localhost
user = postuser
password = postuser
dbname = mailuser
table = emailuser
select_field = userdir
where_field = username
[root@qq-mail postfix]#
[root@qq-mail postfix]# postmap -q "hello@hello.com" mysql:/etc/postfix/mailbox.cf
/mnt/hello.com/hello

###配置postfix

 groupadd -g 666 vmail
 useradd -s /sbin/nologin -u 666 vmail -g 666
 postconf -e "virtual_mailbox_base = /home/vmail"
 postconf -e "virtual_uid_maps = static:666"
 postconf -e "virtual_gid_maps = static:666"
 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"
 systemctl restart postfix

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

1.
yum install dovecot dovecot-mysql -y
2.
[root@qq-mail html]# vim /etc/dovecot/dovecot.conf
  24 protocols = imap pop3 lmtp            ##支持收件协议
  48 login_trusted_networks = 0.0.0.0/0        ##信任网络
  49 disable_plaintext_auth = no        ##开启明文认证
[root@qq-mail html]# vim /etc/dovecot/conf.d/10-auth.conf
  123 !include auth-sql.conf.ext        ##开启mysql的认证方式
[root@qq-mail html]# cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext -p
[root@qq-mail html]# vim /etc/dovecot/dovecot-sql.conf.ext
  32 driver = mysql        ##数据库类型
  71 connect = host=localhost dbname=mailuser user=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 userdir, 666 AS uid, 666 AS gid FROM emailuser WHERE use    rname = '%u'
[root@qq-mail html]# vim /etc/dovecot/conf.d/10-mail.conf
 30 mail_location = maildir:/home/vmail/%d/%n    ##邮件存放地址
  168 first_valid_uid = 666    ##用户uid
  175 first_valid_gid = 666    ##用户gid
systemctl restart dovecot
测试:
telnet 172.25.254.106 110
Trying 172.25.254.106...
Connected to 172.25.254.106.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user hello@hello.com
+OK
pass hello
+OK Logged in.
quit
+OK Logging out.
Connection closed by foreign host.


#########空壳邮件######

进行空壳邮件上的操作:

[root@null ~]# vim /etc/postfix/main.cf
75 myhostname = null.example.com  ##该空壳主机的主机名
 83 mydomain = example.com           ##该空壳主机的域名
99 myorigin = qq.com                         ##必须和接受邮件的真实主机域名相同
113 inet_interfaces = all
119 inet_protocols = all
164 mydestination =                          ##不接收任何邮件
316 relayhost = 172.25.254.106      ##转发邮件到该主机
[root@null ~]# systemctl restart postfix.service


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值