继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Linux下postfix协议一、postfix的详解与配置

白板的微信
关注TA
已关注
手记 341
粉丝 70
获赞 385

postfix:

  postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。

特点: 1. postfix是免费的、2. 更快、3. 兼容性好、4.安全性

5. 更健壮:ostfix被设计成在重负荷之下仍然可以正常工作。当系统运行超出了可用的内存或磁盘空间时,postfix会自动减少运行进程的数目。当处理的邮件数目增长时,postfix运行的进程不会跟着增加。

6. 更灵活:postfix是由超过一打的小程序组成的,每个程序完成特定的功能。你可以通过配置文件设置每个程序的运行参数。


postfix的配置:

安装使用,默认已经安装

yum install postfix -y

#主配置文件

/etc/postfix/main.cf 主配文件

/etc/postfix/master.cf 运行参数配置文件

/etc/postfix/access 邮件SMTP服务的访问控制文件

/etc/postfix/canonical 邮件服务的规范表格格式

/etc/postfix/generic 邮件服务的一般的表格格式

/etc/postfix/header_checks 邮件服务的内置内容的检查

/etc/postfix/relocated 迁移

/etc/postfix/transport

/etc/postfix/virtual 虚拟别名库文件

Vim /etc/postfix/main.cf 配置文件介绍

queue_directory = /var/spool/postfix 本地邮件队列路径

队列管理器总共设置了五个做不同用途的队列,包括:输入、活动、等待、故障、保留。每个队列在queue_directory参数指定的路径下各有一个专属的子目录。默认的队列目录是/var/spool/postfix/。

command_directory = /usr/sbin

daemon_directory = /usr/libexec/postfix 所有在master.cf中用到的服务程序存放的路径

data_directory = /var/lib/postfix 存放缓存。随机数等可写的书籍文件存放位置

mail_owner = postfix

#default_privs=nobody 本地投递代理的运行身份即权限

#myhostname=host.domain.tld设置邮件服务器的完全合格的域名

#mydomain=domian.tld 本地域名

#myorigin=$mydomain 发送邮件时设置的发件人的域名

inet_interfaces = localhost 设置postfix从哪个接口接受邮件

inet_protocols = all

mydestination = myhostname,localhost. myhostname, localhost.myhostname,localhost.mydomain, localhost 设置邮件可以发送到哪些域名

unknown_local_recipient_reject_code = 550 拒绝邮件的错误代码550

#mynetworks=168.100.189.0/28,127.0.0.0/8 设置信任的邮件客户端地址

#relay_domains=$mydestination 设置邮件转发到哪去

alias_maps = hash:/etc/aliases 设置别名数据库

alias_database = hash:/etc/aliases

Header_checks=regexp:/etc/postfix/header_checks 检查邮件有的 设置

debug_peer_level = 2

debugger_command =

PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

ddd daemondirectory/ daemon_directory/daemon 

d

 irectory/process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix postfix发送邮件的程序路径

newaliases_path = /usr/bin/newaliases.postfix postfix完整的别名程序路径

mailq_path = /usr/bin/mailq.postfix postfix的mailq程序路径

setgid_group = postdrop 设置邮件提交和队列管理的命令

html_directory = no 本地没有安装postfix的html文档

manpage_directory = /usr/share/man 帮助手册的位置

sample_directory = /usr/share/doc/postfix-2.10.1/samples 示例目录的位置

readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES 自述目录位置

1、配置postfix服务

#配置邮件服务器主机名

76 myhostname = mail.baidu.com

#配置域名(这个邮件服务器管理的是哪个区域范围的邮件发送)

83 mydomain = baidu.com

#指定邮件发送时的域名

99 myorigin = KaTeX parse error: Expected 'EOF', got '#' at position 10: mydomain #̲指定网络接口(默认只监听本地但…mydomain

#指定允许网络网段地址,设置信任的邮件客户端地址

264 mynetworks = 192.168.221.0/24

#转发域 设置邮件转发到哪去

296 relay_domains = $mydestination

2.配置dovecot服务

dovecot: 邮件接收服务器

#配置dovecot主配置文件

[root@localhost ~]# vi /etc/dovecot/dovecot.conf (本地邮件传输协议)

24 protocols = imap pop3 lmtp

48 login_trusted_networks = 192.168.171.0/24 允许登录接受的ip段

#配置dovecot子配置文件

[root@localhost ~]# vi /etc/dovecot/conf.d/10-mail.conf

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

添加用户之后,需要在用户目录下建立INBOX文件夹,否则后面在收信的时候会报错。

然后用mkdir /home/mail/.imap/INBOX -p命令创建文件夹。

vim /etc/skel/.bash_profile

if [ ! -d ~/mail/.imap/INBOX ];then

mkdir -p ~/mail/.imap/INBOX

fi

注意:有的系统可能没有权限;

chmod 0600 /var/mail/*

如果不执行上面这个命令,可能会出现在系统中可以收到邮件,但是客户端无法收到邮件,

注意查看系统/var/log/maillog日志

3. 开启SASL认证

yum install cyrus-sasl

配置SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。

在Postfix可以利用SASL来判断用户是否有权使用转发服务,或是辨认谁在使用你的服务器。

开启SASL认证sasl auth model

编辑main.cf配置文件,

[root@localhost ~]# vi /etc/postfix/main.cf

开启SASL认证

vim /etc/postfix/main.cf

编辑main.cf配置文件,追加如下行:

broken_sasl_auth_clients=yes #启用SASL对客户端进行认证

smtpd_sasl_auth_enable=yes #启用SASL认证

smtpd_sasl_security_options=noanonymous #禁用匿名用户

smtpd_recipient_restrictions=permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination

#定义收件人限定 =允许sas接收限制l认证,允许mynetworks,拒绝unauth目的地

#配置完成后,重启以下服务

systemctl restart postfix

systemctl restart dovecot

systemctl restart saslauthd

在window安装foxmail

在window上打开foxmail

tail -f /var/log/maillog

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

4.支持SSL访问

cd /etc/postfix

#openssl生成CA认证的一个私钥工具

-keyout 生成证书签署的文件

openssl req -new -x509 -nodes -out smtpd.pem -keyout smtpd.pem -days 365

86

shaanxi

xi’an

openlab

rhce

mail.baidu.com

编辑/etc/postfix/main.cf文件 (功能的参数,功能的特点)

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。

smtp_use_tls = yes

smtpd_use_tls = yes

smtp_tls_note_starttls_offer = yes

smtpd_tls_CAfile = /etc/postfix/smtpd.pem

smtpd_tls_cert_file = /etc/postfix/smtpd.pem

smtpd_tls_key_file = /etc/postfix/smtpd.pem

smtpd_tls_loglevel = 1

smtpd_tls_received_header = yes 标准

smtpd_tls_session_cache_timeout = 3600s

tls_random_source = dev:/dev/urandom

编辑/etc/postfix/master.cf文件,去掉以下内容的注释: (主配置文件的主配置文件功能的开关方法)

#smtps inet n - n - - smtpd


#  -o smtpd_tls_wrappermode=yes   安全传输的包装层模块

#  -o smtpd_sasl_auth_enable=yes   安全传输认证开启

1

2

#配置完成后,重启以下服务

systemctl restart postfix

systemctl restart dovecot

systemctl restart saslauthd

打开foxmail账号管理----账号 —将ssl端口选中改变加密端口,可以实现加密之间的账户和加密和非加密之间的账户可以互相发送邮件

--------------------- 

作者:早起上学的莲华 

原文:https://blog.csdn.net/qq_41218884/article/details/85635213 



打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP