postfix折腾记

1.DNS设置

Type     Host     Destination                 Priority    TTL

MX       @        mail.yourdomain.com 10            3600

A          mail     192.168.0.1                                3600

添加域名解析记录,如上。

2.安装postfix

先更新 yum -y update

再 安装 yum -y install postfix

3.安装证书和私钥

mkdir /etc/postfix/ssl

cd /etc/postfix/ssl

openssl req -x509 -nodes -newkey rsa:2048 -keyout server.key -out server.crt -nodes -days 3650

4.配置postfix

vim /etc/postfix/main.cf

修改下列配置项

myhostname = mail.yourdomain.com  主机名

mydomain = yourdomain.com 域名

myorigin = $mydomain 此项用于在发件人的名称

home_mailbox = mail/ 邮箱目录

mynetworks 此项是postfix接收的客户,不必配置,默认是 mynetworks_style =  subnet

inet_interfaces = all 此项是postfix监听的ip地址,监听所有IP地址

inet_protocols = all 支持IP4和IP6

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain 本机地址

smtpd_sasl_type = dovecot  类型

smtpd_sasl_path = private/auth 路径  

smtpd_sasl_local_domain =

smtpd_sasl_security_options = noanonymous 禁止匿名

broken_sasl_auth_clients = yes

smtpd_sasl_auth_enable = yes

smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination 接收者限制

smtp_tls_security_level = may

smtpd_tls_security_level = may

smtp_tls_note_starttls_offer = yes

smtpd_tls_loglevel = 1

smtpd_tls_key_file = /etc/postfix/ssl/server.key

smtpd_tls_cert_file = /etc/postfix/ssl/server.crt

smtpd_tls_received_header = yes

smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom

配置另一个文件 vim /etc/postfix/master.cf

/etc/postfix/master.cf

找到下面的文字

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (100) # ==========================================================================

smtp inet n - n - - smtpd

在下面添加:

submission inet n - n - - smtpd

-o syslog_name=postfix/submission

-o smtpd_sasl_auth_enable=yes

-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

smtps inet n - n - - smtpd

-o syslog_name=postfix/smtps

-o smtpd_sasl_auth_enable=yes

-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject

-o milter_macro_daemon_name=ORIGINATING

5 安装 Dovecot

yum -y install dovecot

修改配置

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

找到下面文字

# Postfix smtp-auth

在它下面添加:

# Postfix smtp-auth

unix_listener /var/spool/postfix/private/auth {‘

mode = 0660

user = postfix

group = postfix }

修改另一个i配置

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

auth_mechanisms = plain login

login 是添上去的

修改配置 vim /etc/dovecot/conf.d/10-mail.conf 

找到下面文字

# # #mail_location =

改成:

mail_location = maildir:~/mail

修改配置  vim /etc/dovecot/conf.d/20-pop3.conf

找到下面文字

#pop3_uidl_format = %08Xu%08Xv

去掉注释:

pop3_uidl_format = %08Xu%08Xv

重启程序:

systemctl restart postfix

systemctl enable postfix 增加自启动

systemctl restart dovecot

  • # netstat -lntp | grep dovecot         
  • tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN      2547/dovecot         
  • tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN      2547/dovecot         
  • tcp        0      0 :::993                      :::*                        LISTEN      2547/dovecot         
  • tcp        0      0 :::995                      :::*                        LISTEN      2547/dovecot 

systemctl enable dovecot 增加自启动

如果有防火墙:

firewall-cmd --permanent --add-service=smtp

firewall-cmd --permanent --add-port=587/tcp

firewall-cmd --permanent --add-port=465/

tcp firewall-cmd --permanent --add-port=110/tcp

firewall-cmd --permanent --add-service=pop3s

firewall-cmd --permanent --add-port=143/tcp

firewall-cmd --permanent --add-service=imaps

firewall-cmd --permanent --add-service=http

firewall-cmd --reload

6.安装 mailx

yum install -y mailx

配置

vim /etc/mail.rc

# 启动

ssl set ssl-verify=ignore

# 邮箱账户

set from=xxxxxx@126.com

# smtp邮箱类型

set smtp="smtps://smtp.126.com:465"

# 邮箱账户

set smtp-auth-user="xxxxxxx@126.com"

# 邮箱授权密码 set smtp-auth-password=xxxxxxx

# login模式

set smtp-auth=login

# 指定文件目录

set nss-config-dir=/etc/postfix/ssl

7.测试

发送测试

echo  test | mail -s "test"  xxx@sina.com

登录新浪邮箱,发现已经收到了。

接收测试

[root@mail ~]# telnet mail.domain.com 110
Trying 47.106.14.53...
Connected to mail.domain.com.
Escape character is '^]'.
+OK Dovecot ready.
user test   #用户名
+OK
pass pps123456 #密码
+OK Logged in.
list           #查看邮件表列  
+OK 3 messages:
1 318
2 316
3 320
.
retr 3  #查看第三封邮件
+OK 320 octets
Return-Path: <admin@domain.com>
X-Original-To: test@domain.com
Delivered-To: test@domain.com
Received: from mail.domain.com (mail.domain.com [47.106.14.53])
        by mail.domain.com (Postfix) with SMTP id 72B6D2E4A3E
        for <test@domain.com>; Sat,  2 Mar 2019 22:53:29 +0800 (CST)
subject:title data 22.52

current data 22.52
.
quit
+OK Logging out.
Connection closed by foreign host.

参考文章:https://hostpresto.com/community/tutorials/how-to-setup-an-email-server-on-centos7/

https://blog.csdn.net/xianglingchuan/article/details/88096573

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页