在Milter-limit中控制postfix发信频率

要在postfix 中限制一个用户发信的数量,发到某个域的数量,和频率需要一种控制机制!

milter-limit 是Sendmail 的一个filter,用于限制用户发邮件的数量,以防止邮件服务器

被非法用于发送垃圾邮件,它可以实现对指定的客户端IP、收件人、发件人进行限制。该

filter可以不做任何修改即可用于Postfix中

到www.snertsoft.com 下载 (需要注册)

http://www.snertsoft.com

安装

注意,在安装操作系统的时候安装sendmail的所有组件,这个软件的安装需要用到sendmail 的相关文件,如果没有安装下面的编译安装会出现错误!

下载:如下的软件:

db-4.8.26.tar.gz (可能不需要安装)

milter-limit-0.14.tar.gz

libsnert-1.73.11.tar.gz

# tar -zxvf libsnert-1.73.11.tar.gz

# tar -zxvf milter-limit-0.14.tar.gz

#cd com/snert/src/lib

# ./configure --with-db=/usr            # 检查是否有Berkeley DB 支持

# make build

# cd ../milter-limit

# ./configure --enable-run-user=postfix --enable-run-group=postfix

# make build

# make install

安装完毕:

下面设置postix

修改 /etc/postfix/main.cf

添加参数:

smtpd_milters = unix:/var/run/milter/milter-limit.socket

过滤规则:

milter-limit 的规则文件写在/etc/mail/access 中,然后用makemap 来生成

makemap hash /etc/mail/access.db < /etc/mail/acces

# 请注意access.db权限不能为可执行,并且可以让postfix 用户能够读取

/etc/mail/access 文件的规则包括

milter-limit-Connect:       # 客户端连接IP

milter-limit-From:          # 发件人地址

milter-limit-To:             # 收件人地址

milter-limit-Auth:          # 通过SMTP认证的发件人

时间: 2024-09-26 17:10:16

在Milter-limit中控制postfix发信频率的相关文章

Postfix发信的频率控制几个参数

postfix发信的频率控制有几个: smtpd_client_connection_rate_limit=5 ip地址连接的频率控制. smtpd_client_message_rate_limit=5 客户端发送邮件的频率控制.(某种情况下smtpd_client_message_rate_limit和 smtpd_client_connection_rate_limit的效果是一样.smtpd_client_connection_rate_limit是指连接到服务器25端口就开始计算,sm

C# Winfrom项目,如何在from窗体中控制两个timer控件时间的同步显示

问题描述 C# Winfrom项目,如何在from窗体中控制两个timer控件时间的同步显示 在C# Winfrom项目中,一个from窗体,两个timer控件(timer1和timer2),两个Label控件(labe1和label2), timer1是实现0到1分钟的倒计时显示在显示labe1中,timer2是实现到1分钟后自动显示当前时间到label2中. 两个button控件(button1和button2).button1和button2分别控制timer1的开始和暂停. timer1

jacob操纵word文件中控制行间距的问题

问题描述 jacob操纵word文件中控制行间距的问题 代码如下:如果参数lineSpace=4;及行间距设为固定值,但在word中设为固定值后, 还要设置一个磅值,请问在下面代码中如何设置磅值?或者有大侠知道磅值的参数名称是什么? /** * 对当前段落进行格式化 * * @param align * 设置排列方式 默认:居左 0:居左 1:居中 2:居右 3:两端对齐 4:分散对齐 * @param lineSpace * 设置行间距 默认:1.0 0:1.0 1:1.5 2:2.0 3:最

怎样在VB中控制WORD

使用VB编程时,有时需要调用Microsoft Word对文字进行编辑.排版及输出.为实现这种调用,可以使用Shell函数.OLE自动化.在包容器中嵌入Word对象等方法.经过试用和比较,总结出了这几种方法的各自特点. 1 使用Shell函数直接调用 语法:Shell (pathname[,windowstyle]).Pathname是指要执行的程序的名字和任何必须的参数或命令行开关,可以包括目录和驱动器名:Windowstyle是执行程序的窗口风格的数字. 使用Shell调用Word比较简单,

在CB程序中控制Windows关机

我们在应用程序编制完成后,需要设计应用程序的包装和分发功能.在编写安装程序时,经常会遇到这样的问题:程序安装完成后需要重新启动计算机.那么在代码中如何控制Windows的关机或重新启动呢? 要实现这个功能,需要用到Windows API提供的一个ExitWindowsEx函数.我们可以通过查看C++ Builder提供的帮助文件得到这个函数的使用格式: BOOL ExitWindowsEx( UINT uFlags, // 设置关机参数 DWORD dwReserved // 系统保留字 );

如何在c语言中控制时间啊,

问题描述 如何在c语言中控制时间啊, 例如,在运行时需要输入,如果过了时间,就不允许输入,该怎么弄,求大神帮忙 解决方案 这个问题可以用双线程也可以用双进程. 假设用双进程, 父进程计时间,到时间了就向子进程发送信号. 子进程收到进程不管scanf(当然或者其他输入数据的函数也可)是否收到数据 子进程一律终止. 事例代码如下: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <

“Win10 UAP 开发系列”之 在MVVM模式中控制ListView滚动位置

原文:"Win10 UAP 开发系列"之 在MVVM模式中控制ListView滚动位置 这个扩展属性从WP8.1就开始用了,主要是为了解决MVVM模式中无法直接控制ListView滚动位置的问题.比如在VM中刷新了数据,需要将View中的ListView滚动到顶部,ListView只有一个ScrollIntoView()方法可以控制滚动的位置,但最好在VM中不要出现直接控制View的代码,需要通过其他的方式. 使用一个扩展属性即可实现: /// <summary> ///

[Silverlight入门系列]使用MVVM模式(9): 想在ViewModel中控制Storyboard动画?

原文 http://www.cnblogs.com/Mainz/archive/2011/08/25/2153828.html 在前面的Silverlight入门系列文章中穿插讲了一些MVVM模式系列文章,MVVM模式貌似简单,其实要把界面逻辑抽象出来还是很不容易,像<TreeView真正实现MVVM模式和Expanded发生时异步动态加载子节点(WCFRiaService)>就不是这么简单,有的童鞋像feiyang还要实现Treeview的展开状态持久化和自动恢复,配合MVVM实现不容易.所

【Android开发】用户界面设计-在代码中控制UI界面

效果图: 实现方法: MainActivity: package com.example.test; import android.app.ActionBar.LayoutParams; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Color; import android.os.Bundle