千家信息网

postfix

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,#################postfix###################1.postfix提供smtp协议用来投递邮件默认端口 25默认发布目录 /var/log/maillog ##服
千家信息网最后更新 2026年11月01日postfix

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

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

默认端口 25

默认发布目录 /var/log/maillog ##服务日志

mail root @..... 发邮件

主题:

内容....

.

mailq ###查看邮件队列

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

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

2.

配置

vim /etc/postfix/main.cf

76 myhostname = westos-mail.westos.com ###25端口开启的网络借口

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

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

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

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

systemctl restart postfix.service

systemctl stop firewalld

3.邮件别名

[root@westos-mail named]# vim /etc/aliases

97 admin: root ##邮件别名

98 moreuser: :include:/etc/postfix/moreuser ##邮件群发

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

user1

user2

[root@qq-mail ~]# systemctl restart postfix.service

mail -u 用户名

postsuper -d 删除排队邮件

postqueue -f 重新发送排队的邮件

postalias /etc/aliases

4.通过远程主机发送邮件

[kiosk@foundation75 Desktop]$ yum install -y telnet

[root@foundation75 Desktop]# telnet 172.25.254.101 25

Trying 172.25.254.101...

Connected to 172.25.254.101.

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 .

qwdq

qwdeq

qeq

.

测试

[root@qq-mail ~]# mail

Heirloom Mail version 12.5 7/5/10. Type ? for help.

"/var/spool/mail/root": 2 messages 1 new 2 unread

U 1 root Tue May 23 09:45 25/739 "qq"

>N 2 root@westos.com Tue May 23 09:53 15/494

& 2

Message 2:

From root@westos.com Tue May 23 09:53:48 2017

Return-Path:

X-Original-To: root@qq.com

Delivered-To: root@qq.com

Status: R

qwdq

qwdeq

qeq

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

在mta上

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

root@westos-mail named]# vim /etc/postfix/main.cf

681 smtpd_client_restrictions = check_client_access hash:/etc/postfix/acce ss

root@westos-mail named]# vim /etc/postfix/access

476 172.25.254.95 REJECT

[root@westos-mail named]# postmap /etc/postfix/access

[root@westos-mail named]# ls

data named.ca named.localhost qq.com.zone westos.com.zone

dynamic named.empty named.loopback slaves

[root@westos-mail named]# cd /etc/postfix

[root@westos-mail postfix]# ls

access canonical header_checks master.cf transport

access.db generic main.cf relocated virtual

测试

[root@test Desktop]# telnet 172.25.254.195 25

Trying 172.25.254.195...

Connected to 172.25.254.195.

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 : Client host rejected: Access denied

##限制用户发送

[root@westos-mail postfix]# postconf -e "smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender"

[root@westos-mail postfix]# vim /etc/postfix/main.cf

681 smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender

[root@westos-mail postfix]# vim /etc/postfix/sender

student@westos.com REJECT

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

[root@westos-mail postfix]# ls

access canonical header_checks master.cf sender transport

access.db generic main.cf relocated sender.db virtual

[root@westos-mail postfix]# systemctl restart postfix.service

测试

[root@foundation75 Desktop]# telnet 172.25.254.101 25

Trying 172.25.254.101...

Connected to 172.25.254.101.

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 : Sender address rejected: Access denied

##限制用户接收

[root@westos-mail postfix]# postconf -e "smtpd_sender_restrictions = check_recipient_access hash:/etc/postfix/recip"

[root@westos-mail postfix]# vim /etc/postfix/main.cf

smtpd_sender_restrictions = check_recipient_access hash:/etc/postfix/recip

[root@westos-mail postfix]# vim /etc/postfix/recip

westos@westos.com REJECT

[root@westos-mail postfix]# postmap /etc/postfix/recip

[root@westos-mail postfix]# systemctl restart postfix.service

测试

[root@foundation75 Desktop]# telnet 172.25.254.101 25

Trying 172.25.254.101...

Connected to 172.25.254.101.

Escape character is '^]'.

220 westos-mail.westos.com ESMTP Postfix

mail from:root@qq.com

250 2.1.0 Ok

rcpt to:westos@westos.com

554 5.7.1 : Recipient address rejected: Access denied

#出站地址伪装

做好dns解析

[root@westos-mail named]# postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"

[root@westos-mail named]# vim /etc/postfix/main.cf

smtp_generic_maps = hash:/etc/postfix/generic

[root@westos-mail named]# vim /etc/postfix/generic

westos@westos.com hello@sb.com

[root@westos-mail named]# postmap /etc/postfix/generic

[root@westos-mail named]# cd /etc/postfix/

[root@westos-mail postfix]# ls

access canonical generic.db main.cf recip relocated sender.db virtual

access.db generic header_checks master.cf recip.db sender transport

[root@westos-mail postfix]# id westos

uid=1001(westos) gid=1001(westos) groups=1001(westos)

测试

From hello@sb.com Tue May 23 11:55:08 2017

Return-Path:

X-Original-To: root@qq.com

Delivered-To: root@qq.com

Date: Tue, 23 May 2017 11:55:08 -0400

To: root@qq.com

Subject: qdq

User-Agent: Heirloom mailx 12.5 7/5/10

Content-Type: text/plain; charset=us-ascii

From: hello@sb.com

Status: R

##入站地址转换

做好dns解析

[root@westos-mail postfix]# postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"

[root@westos-mail postfix]# vim /etc/postfix/virtual

295 hello@sb.com westos@westos.com

[root@westos-mail postfix]# vim /etc/postfix/main.cf

virtual_alias_maps = hash:/etc/postfix/virtual

[root@westos-mail postfix]# postmap /etc/postfix/virtual

[root@westos-mail postfix]# systemctl restart postfix.service

[root@westos-mail postfix]# mail hello@sb.com

Subject: qwdq

qwdq

dq

wdq

.

EOT

测试

[root@westos-mail postfix]# mail -u westos

Heirloom Mail version 12.5 7/5/10. Type ? for help.

"/var/mail/westos": 1 message 1 new

>N 1 root Tue May 23 12:10 20/560 "qwdq"

& 1

Message 1:

From root@westos.com Tue May 23 12:10:01 2017

Return-Path:

X-Original-To: hello@sb.com

Delivered-To: westos@westos.com

Date: Tue, 23 May 2017 12:10:00 -0400

To: hello@sb.com

Subject: qwdq

User-Agent: Heirloom mailx 12.5 7/5/10

Content-Type: text/plain; charset=us-ascii

From: root@westos.com (root)

Status: R

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

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

1.dovecot用来提供收件协议

pop3 110

imap 143

imaps 993

pop3s 995

给定用户名称,用户密码,dovecot程序代替我们去看这个用户的邮件文件

2.yum intsall -y dovecot

3.

[root@westos-mail named]# 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 named]# vim /etc/dovecot/conf.d/10-mail.conf

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

[root@westos-mail ~]# su westos

[westos@westos-mail root]$ cd ~

[westos@westos-mail ~]$ mkdir /home/westos/mail/.imap -p

[westos@westos-mail ~]$ touch /home/westos/mail/.imap/INBOX

[root@westos-mail westos]# passwd westos

Changing password for user westos.

New password:

BAD PASSWORD: The password is a palindrome

Retype new password:

passwd: all authentication tokens updated successfully.

[root@westos-mail westos]# systemctl restart dovecot.service

[root@westos-mail ~]# mkdir /etc/skel/mail/.imap -p

[root@westos-mail ~]# touch /etc/skel/mail/.imap/INBOX

[root@westos-mail ~]# useradd zhang

[root@westos-mail ~]# passwd zhang

Changing password for user zhang.

New password:

BAD PASSWORD: The password is a palindrome

Retype new password:

passwd: all authentication tokens updated successfully.

[root@westos-mail ~]# systemctl restart dovecot.service

测试

主机安装mutt

[root@foundation75 Desktop]# mutt -f pop://zhang@172.25.254.101

安装雷鸟

用真机

rpm -ivh thunderbird-31.2.0-1.el7.x86_64.rpm

接下来进行以下操作

进去之后进行登陆并且给westos@westom.com恢复邮件

测试

[root@westos-mail ~]# mail

Heirloom Mail version 12.5 7/5/10. Type ? for help.

"/var/spool/mail/root": 2 messages 1 new

1 root Tue May 23 11:22 21/572 "qwew"

>N 2 westos@westos.com Wed May 24 11:52 32/940 "Re:123"

& 2

Message 2:

From westos@westos.com Wed May 24 11:52:52 2017

Return-Path:

X-Original-To: root@westos.com

Delivered-To: root@westos.com

Date: Wed, 24 May 2017 23:52:52 +0800

From: "westos@westos.com"

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/

31.2.0

To: root

Subject: Re:123

Content-Type: text/plain; charset=UTF-8; format=flowed

Status: R

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

[root@westos-mail ~]# yum install -y httpd php php-mysql mariadb-server

[root@westos-mail ~]# systemctl start mariadb

[root@westos-mail ~]# vim /etc/my.cnf

[root@westos-mail ~]# systemctl restart postfix.service

[root@westos-mail ~]# systemctl restart mariadb.service

[root@westos-mail ~]# mysql_secure_installation

[root@westos-mail ~]# cd /var/www/html

[root@westos-mail html]# ls

phpMyAdmin-3.4.0-all-languages.tar.bz2

[root@westos-mail html]# tar jxf phpMyAdmin-3.4.0-all-languages.tar.bz2

[root@westos-mail html]# rm -fr *.bz2

[root@westos-mail html]# ls

phpMyAdmin-3.4.0-all-languages

[root@westos-mail html]# mv phpMyAdmin-3.4.0-all-languages/ myadmin

[root@westos-mail html]# ls

myadmin

[root@westos-mail html]# cd myadmin

[root@westos-mail myadmin]# cp config.sample.inc.php config.inc.php

[root@westos-mail myadmin]# vim config.inc.php

[root@westos-mail myadmin]# systemctl restart httpd

[root@westos-mail myadmin]# mysql -uroot -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 32

Server version: 5.5.35-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create user postuser@localhost identified by 'postuser';

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant select,update,insert on email.* to postuser@localhost;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit

Bye

[root@westos-mail myadmin]# mysql -upostuser -p

Enter password:

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 33

Server version: 5.5.35-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select * from email.emailuser;

+-------------+----------+---------+-------------------+

| username | password | domain | maildir |

+-------------+----------+---------+-------------------+

| lee@lee.com | lee | lee.com | /mnt/lee.com/lee/ |

+-------------+----------+---------+-------------------+

[root@westos-mail ~]# cd /etc/postfix/

[root@westos-mail postfix]# vim mailuser.cf ####用户名查询

1 hosts = localhost ##数据库所在的主机

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

3 password = postuser ##登陆数据库的密码

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

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

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

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

[root@westos-mail postfix]# postmap -q "lee@lee.com" mysql:/etc/postfix/mailuser.cf

lee@lee.com

[root@westos-mail postfix]# vim maildomain.cf ####用户域名查询

1 hosts = localhost

2 user = postuser

3 password = postuser

4 dbname = email

5 table = emailuser

6 select_field = domain

7 where_field = domain

[root@westos-mail postfix]# postmap -q "lee.com" mysql:/etc/postfix/maildomain.cf

lee.com

[root@westos-mail postfix]# vim mailbox.cf ####用户邮箱位置查询

1 hosts = localhost

2 user = postuser

3 password = postuser

4 dbname = email

5 table = emailuser

6 select_field = maildir

7 where_field = username

[root@westos-mail postfix]# postmap -q "lee@lee.com" mysql:/etc/postfix/mailbox.cf

/mnt/lee.com/lee/

附图



####配置postfix

[root@westos-mail ~]# groupadd -g 666 vmail

[root@westos-mail ~]# id vmail

uid=666(vmail) gid=666(vmail) groups=666(vmail)

[root@westos-mail ~]# postconf -d | grep virtual

[root@westos-mail ~]# postconf -e "virtual_mailbox_base = /home/vmail"

[root@westos-mail ~]# postconf -e "virtual_uid_maps = static:666"

[root@westos-mail ~]# postconf -e "virtual_gid_maps = static:666"

[root@westos-mail ~]# postconf -e "virtual_alias_maps = mysql:/etc/postfix/mailuser.cf"

[root@westos-mail ~]# postconf -e "virtual_mailbox_maps = mysql:/etc/postfix/mailbox.cf"

[root@westos-mail ~]# postconf -e "virtual_mailbox_domain = mysql:/etc/postfi/maildomain.cf"

systemctl restart postfix.service

测试

给lee@lee.com的邮件在/home/vmail/lee.com/new/里面可以找到


附图



邮件 用户 测试 查询 端口 主机 名称 数据 数据库 登陆 借口 内容 别名 地址 域名 字符 密码 用户名 网络 队列 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 深圳市人人互联网科技有限公司 金融科技与互联网金融 礼当家互联网科技 互联网科技缩写 丰台科技园 互联网 互联网科技博客 互联网科技汛 互联网科技公司介绍 人人互联网科技是培训 互联网科技公司招聘 荆州市昕露互联网络科技有限公司 朱啸虎曾投资哪些互联网科技企业 工业互联网山东科技大学 上海京穆互联网科技有限公司 从那以后互联网科技有限公司 互联网硬科技公司 萌小萌互联网科技河南有限公司 宁波允成互联网科技有限公司 互联网企业和网络科技有限公司 广州为想互联网科技有限公司 米客互联网科技 佰商互联网科技有限公司 汉立互联网科技有限公司联系电话 互联网和高科技公司 须眉科技是互联网公司吗 昭通云南众福互联网科技有限公司 互联网科技研发水平 中国新注册互联网科技 互联网的科技体现在哪里
0