开发者社区> 玄学酱> 正文

4.2. 配置 Postfix

简介:
+关注继续查看

4.2.1. 转发配置

修改配置文件

vim /etc/postfix/main.cf

inet_interfaces = all

mydestination = 

mydomain = example.com

myhostname = mail.example.com

mynetworks = 0.0.0.0/0

mynetworks_style = subnet

smtpd_reject_unlisted_recipient = no

transport_maps = hash:/etc/postfix/transport
			

转发配置,设置域名和地址的关系:

vim transport:

your.com relay: [10.10.0.1]		
			

生成相应的db文件

postmap transport		
			

例如当收件人为users@your.com时,postfix会将邮件转发到指定的服务器

4.2.2. 拒收垃圾邮件

编辑/etc/postfix/main.cf文件,在文件中添加下面一行文字,你可以把它插入到文件末尾。

sudo vim /etc/postfix/main.cf

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/check_sender_access
			

然后在/etc/postfix/目录下创建一个check_sender_access文件,内容如下

example.com            REJECT
your.com              OK

.example.com            REJECT
.your.com              OK

user@example.com      REJECT
			

将域名的特定邮箱地址添加到黑名单,也可以将某个二级域名添加到黑名单或白名单,只要在域名前面加上一个小数点就行了。邮箱与域名后面输入OK表示将这个域名添加到白名单,域名后面添加REJECT表示将这个域名添加到黑名单。

使用postmap命令创建/etc/postfix/sender_checks.db数据库文件

postmap /etc/postfix/check_sender_access
			

最后重新加载Postfix配置文件

sudo /etc/init.d/postfix reload		
			

4.2.3. 收件箱配置

Postfix 提供三种收件箱,第一种是Mailbox,第二种是Maildir, 第三种是Unix风格的收件想/var/spool/mail

如你有POP/IMAP服务请使用Mailbox 或者 Maildir。否则仅仅是在 unix上阅读纯文本邮件可以使用/var/spool/mail

4.2.3.1. Mailbox 配置

home_mailbox = Mailbox
				

4.2.3.2. Maildir 配置

home_mailbox = Maildir/
				

4.2.3.3. 传统Unix风格邮箱配置

mail_spool_directory = /var/mail
				
mail_spool_directory = /var/spool/mail
				

4.2.4. 邮件投递

邮件投递是指从你的Postfix服务器将邮件投到目的地邮件服务器,即 SMTP对SMTP,而非用户到的SMTP配置。

配置主要涉及邮件投递频率,如果过高,会被退回也可能被封锁一段时间。

* initial_destination_concurrency:到目标主机的初始化并发连接数。
* default_destination_concurrency_limit:初始化连接后对同一目标主机的最大并发连接数目。
* local_destination_concurrency_limit:控制对同一本地收件人的最大同时投递的邮件数目。
			

默认值可以通过 $ postconf | grep local_destination_concurrency_limit 命令查看

initial_destination_concurrency = 5
default_destination_concurrency_limit = 20
local_destination_concurrency_limit = 2
			

4.2.5. 队列配置

queue_run_delay 配置间隔多长时间重新发送一次deferred队列的邮件

# postconf | grep queue_run_delay
queue_run_delay = 300s
			

deferred邮件队列中的生存时间

# postconf | grep maximal_queue_lifetime
maximal_queue_lifetime = 5d
			

队列尺寸

# postconf  | grep qmgr_
qmgr_clog_warn_time = 300s
qmgr_daemon_timeout = 1000s
qmgr_fudge_factor = 100
qmgr_ipc_timeout = 60s
qmgr_message_active_limit = 20000
qmgr_message_recipient_limit = 20000
qmgr_message_recipient_minimum = 10
			

4.2.6. 客户端

smtpd_client_connection_count_limit 配置邮件客户端链接数,例如 Outlook 用户数量

# postconf | grep smtpd_client_connection_count_limit 
postscreen_client_connection_count_limit = $smtpd_client_connection_count_limit
smtpd_client_connection_count_limit = 50
			

控制接收邮件频率

# postconf | grep smtpd_client_connection_rate_limit 
smtpd_client_connection_rate_limit = 0
			





原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
iOS开发:Crash异常总结与捕获
说到异常捕获,就必须要提到Crash问题,iOS中,Crash一般分为两种: 1、一种是由EXC_BAD_ACCESS引起的,原因是访问了不属于本进程的内存地址,有可能是访问已被释放的内存; 2、一种是未被捕获的目标C异常(NSException)记录,导致程序向自身发送了SIGABRT信号而崩溃。
5 0
【MySQL】MyFlash 回滚mysql binlog
MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具。该工具通过解析v4版本的binlog,完成回滚操作。相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易。
3 0
《恋上数据结构第1季》二叉树代码实现
《恋上数据结构第1季》二叉树代码实现
3 0
阿里云ECS服务器配置Node环境实践
使用阿里云ECS服务器配置Node环境实践。
3 0
git使用之commit规范
git使用之commit规范
5 0
解决git fatal: No remote repository specified.
解决git fatal: No remote repository specified.
7 0
推荐收藏系列-工作中IntelliJ IDEA使用大全(破解安装、常用配置、插件安装、使用常出现的问题)
IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。因此我们必须熟悉IDEA的各自使用操作方法,使得我们在使用IDEA更加流畅,简便,以此来提高工作效率,减少996的加班、加班。如下是根据一系列的文章进行一些的总结,后续还会继续更新。
6 0
(JavaSE)数据类型变量与运算符(下)
🔶 🔶 🔶大家好! 小猪猪开始学JAVA啦,今天给大家带来的是有关Java中数据类型变量与运算符的知识。 学习编程之路漫长且艰难,但是千万不要放弃哦!!!
4 0
SQL 为什么动不动就 N 百行以 K 计
SQL 为什么动不动就 N 百行以 K 计
6 0
+关注
玄学酱
这个时候,玄酱是不是应该说点什么...
20709
文章
438
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载