Linux邮件

1.配置所需软件

postfix ##邮件服务软件
httpd ##网络共享软件
php ##超文本解析
mysql ##数据库
dovecot ##IMAP 和 POP3 邮件服务器

2.配置postfix

1)首先配置好要使用的dns地址解析。
2)配置postfix主配置文件

[root@maillinux Desktop]# vim /etc/postfix/main.cf ##postfix主配置文件

...
76 myhostname = mail.yang.com
...
83 mydomain = yang.com
...
99 myorigin = $mydomain        
...
113 inet_interfaces = all
114 #inet_interfaces = $myhostname
115 #inet_interfaces = $myhostname, localhost
116 #inet_interfaces = localhost
... 
119 inet_protocols = all
...
164 mydestination = $myhostname, $mydomain, localhost
...

[root@maillinux Desktop]# systemctl restart postfix.service

测试
[root@maillinux Desktop]# mail root@westos.com

Subject: AAA      
123
.
EOT

[root@maillinux Desktop]# mailq #邮件队列
Mail queue is empty

3)本地群发

[root@mailwestos Desktop]# vim /etc/postfix/user

student
root

[root@mailwestos Desktop]# vim /etc/aliases

...
 98 more:           :include:/etc/postfix/user
...

[root@mailwestos Desktop]# postalias /etc/aliases
[root@mailwestos Desktop]# systemctl restart postfix.service
测试:
[root@mailwestos ~]# mail more

Subject: asd
sad
.
EOT

[root@mailwestos ~]# mailq
Mail queue is empty

4)域名转换

[root@mailwestos Desktop]# vim /etc/postfix/virtual

295 @qq.com         @westos.com
296 admin@qq.com    root@westos.com

[root@mailwestos Desktop]# postmap /etc/postfix/virtual
[root@mailwestos Desktop]# postconf -d | grep virtual

virtual_alias_maps = $virtual_maps

[root@mailwestos Desktop]# postconf -e “virtual_alias_maps = hash:/etc/postfix/virtual”
[root@maillinux Desktop]# systemctl restart postfix.service

测试:
[root@mailwestos Desktop]# mail admin@qq.com

Subject: SSS
AAA
.
EOT
[root@mailwestos Desktop]# mailq
Mail queue is empty
[root@mailwestos Desktop]# mail
Message 10:
From root@westos.com  Tue Mar 14 08:01:47 2017
Return-Path: <root@westos.com>
X-Original-To: **admin@qq.com**
Delivered-To: root@westos.com
Date: Tue, 14 Mar 2017 08:01:47 -0400
To: admin@qq.com
Subject: SSS
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=us-ascii
From: root@westos.com (root)
5)域名伪装

[root@mailwestosroot@mailwestos named]# vim /etc/postfix/generic

241 root@westos.com         admin@qq.com

[root@mailwestos named]# postmap /etc/postfix/generic
[root@mailwestos named]# postconf -d | grep generic

smtp_generic_maps =

[root@mailwestos named]# postconf -e “smtp_generic_maps = hash:/etc/postfix/generic”
[root@mailwestos named]# systemctl restart postfix.service

测试
[root@mailwestos named]# mail root@linux.com
Subject: AAA
www
.
EOT
[root@mailwestos named]# mailq
Mail queue is empty
[root@maillinux Desktop]# mail

...
Message  2:
From admin@qq.com  Tue Mar 14 08:33:03 2017
Return-Path: <**admin@qq.com**>
X-Original-To: root@linux.com
Delivered-To: root@linux.com
Date: Tue, 14 Mar 2017 08:33:03 -0400
To: root@linux.com
Subject: AAA
...

7)postfix+mysql
vim /etc/postfix/mysql-user.cf

hosts = localhost
user = yang
password = yang
dbname = email
table = mailusers
select_field = username
where_field = username

vim /etc/postfix/mysql-domain.cf

hosts = localhost
user = yang
password = yang
dbname = email
table = mailusers
select_field = domain
where_field = domain

vim /etc/postfix/mysql-maildir.cf

hosts = localhost
user = yang
password = yang
dbname = email
table = mailusers
select_field = maildir
where_field = username

测试
[root@server ~]# postmap -q “westos.com” mysql://etc/postfix/mysql-domain.cf
westos.com
[root@server ~]# postmap -q “yang@westos.com” mysql://etc/postfix/mysql-user.cf
yang@westos.com
[root@server ~]# postmap -q “yang@westos.com” mysql://etc/postfix/mysql-maildir.cf
/westos.com/yang/

3.dovecot服务

1)配置dovecot

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-auth.conf

...
122 !include auth-system.conf.ext
123 !include auth-sql.conf.ext
...
#   %u - username
#   %n - user part in user@domain, same as %u if there's no domain
#   %d - domain part in user@domain, empty if there's no domain
#   %h - home directory

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

...
 30 mail_location = maildir:/home/vmail/%d/%n
...

vim /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext

vim /etc/dovecot/dovecot-sql.conf.ext

...
 32 driver = mysql
...
 71 connect = host=localhost dbname=email user=yang password=yang
...
 78 default_pass_scheme = PLAIN
...
107 password_query = \
108 
109   SELECT username, domain, password \
110   FROM mailusers WHERE username = '%u' AND domain = '%d'
...
126 user_query = SELECT maildir, 888 AS uid, 888 AS gid FROM mailusers WHERE use    rname = '%u'
...

[root@server vmail]# groupadd -g 888 vmail
[root@server vmail]# useradd -g 888 -u 888 vmail
[root@server vmail]# postconf -e “virtual_mailbox_base = /home/vmail”
[root@server vmail]# postconf -e “virtual_alias_maps = mysql:/etc/postfix/mysql-user.cf”
[root@server vmail]# postconf -e “virtual_mailbox_domains = mysql:/etc/postfix/mysql-domain.cf”
[root@server vmail]# postconf -e “virtual_mailbox_maps = mysql:/etc/postfix/mysql-maildir.cf”
[root@server vmail]# postconf -e “virtual_uid_maps = static:888”
[root@server vmail]# postconf -e “virtual_gid_maps = static:888”

2)测试
telnet

[kiosk@yang Desktop]$ telnet 172.25.254.10 110

Trying 172.25.254.10...
Connected to 172.25.254.10.
Escape character is '^]'.
+OK [XCLIENT] Dovecot ready.
user yang@westos.com
+OK
pass aaa  
+OK Logged in.
quit
+OK Logging out.
Connection closed by foreign host.

最后可以通过邮件软件完成收发邮件
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值