SMTP Authentication

Posted by Filed Under SMTP AUTH with Comments Off

SMTP authentication is important because you may use it to verify mail clients independent of their IP Addresses.  Without SMTP Authentication only those IP ranges indicated in the mynetworks parameter will be allowed to connect.

So here is how it works with mynetworks. If you had a setting in the Postfix main.cf that looked like the one below, the Postfix mail server at localhost could relay mail and all those machines on the subnet that is listed could send mail.  But if you had a user who traveled and from their laptop wanted to retrieve and send mail through the server, they would be blocked.

mynetworks = 127.0.0.0/8, 192.168.5.0/24

Unless you wanted to constantly update mynetworks to reflect the IP address of the local user, you need to find a way to allow them to use the server.

There are basically 4 methods of allowing access to mobile users.
1. SMTP-after-POP and SMTP-after-IMAP
2.SMTP authentication
3.Certificate-based relaying
4.VPNs

mail_server

The SMTP-after-POP and SMTP-after-IMAP refers the issue of authentication to the POP or IMAP server.  In this process once the mail client has authenticated the POP or IMAP server will record the IP Address and save it in a database.  These IP Addresses remain in the database so they may be accessed again when the  email client attempts to relay mail.  The SMTP server then looks up the address in the database and allows the transfer if the address exists.  These addresses are only saved for a short time.  Unfortunately, the configuration issues are complex to make this happen and the IP Addresses can easily be spoofed.

Certificate-based relaying is based on the certificate that a client sends to the server to authenticate.   Once verified the mail client is allowed to relay.  The unfortunate issue here is that many email clients do not support TLS authentication.

VPNs work fine however this is a lot of setup and training for employees just for mail.

The easiest method is to use SMTP authentication. This SMTP authentication is accomplished using the Cyrus SASL or Simple Authentication and Security Layer.  SASL has three layers that must be configured; the authentication interface, the mechanism and the method.

Compiling SASL Packages with Postfix

Posted by Filed Under Compile Postfix with Comments Off

The environmental variables in CCARGS for instance, provide the options that Postfix needs.

AUXLIBS – If you build support for any additional applications you may need to tell the linker where to look for the additional libraries for those programs.  The standard location for system libraries is /usr/lib.  If you want the linker to look for additional libraries you must indicate that with the -L option.

CentOS Example
AUXLIBS=’-L/usr/lib’

However, that is not enough because you must also indicate the specific library to link to with the -l option.  Library files start with lib and will have an extension of .a for static libraries, .so for a shared object or .sl for a shared library.  If the -l is used the library is referred to without the lib and without the file extension.  So if you were going to add MySQL and mysqlclient it would look like this:

CentOS Example
AUXLIBS=’-L/usr/lib/mysql -L/usr/lib -lmysqlclient -lz -lm’

CC – Postfix will use the gcc compiler, If you want to use a different one you will need to indicate that specifically.  If you look in the makedefs file you will see this text indicating the default is gcc, “${CC-gcc}”.

CCARGS – This will supply any additional arguments you want to make to the compiler.  This is used to indicate files that you need that are not in default locations.

DEBUG – This will provide debugging levels that you may want to use.  Typically you will want to increase debugging levels when you initially build Postfix for testing and then eliminate it when you build the final version for your production server.

OPT – These are optimization levels that you can set if you need your Postfix Mail Server to function at higher levels.

The compiler options can be set up in using the CCARGS.  The standard location for the header files that you need are in /usr/include.  If you need to indicate an alternative location for header files you would use the CCARGS to indicate that.  The “I” options are used for each additional directory the compiler should use.

CCARGS=’-I/usr/local/include/’

The -D option gives you a method of defining a macro to include support for a particular program you want to include.  So that you could tell Postfix to include support for the MySQL macro, HAS_MYSQL like this:

CCARGS=’DHAS_MYSQL’

If you want to change the location of directories you will need to include the Macro Name and the location where you want to place the directory.

Make makefiles CCARGS=’-DEF_CONFIG_DIR=\”a/location\”’

Parameters whose defaults can be specified in this way are:

Macro name         default value for         typical default
DEF_COMMAND_DIR     command_directory     /usr/sbin
DEF_CONFIG_DIR     config_directory         /etc/postfix
DEF_DAEMON_DIR     daemon_directory         /usr/libexec/postfix
DEF_DATA_DIR         data_directory         /var/lib/postfix
DEF_MAILQ_PATH     mailq_path             /usr/bin/mailq
DEF_HTML_DIR         html_directory         no
DEF_MANPAGE_DIR     manpage_directory         /usr/local/man
DEF_NEWALIAS_PATH     newaliases_path         /usr/bin/newaliases
DEF_QUEUE_DIR         queue_directory         /var/spool/postfix
DEF_README_DIR     readme_directory         no
DEF_SENDMAIL_PATH     sendmail_path         /usr/sbin/sendmail

Parameter Changes for the Environment
When you want to make changes to the parameters you will need to execute the build with two steps so that you can modify the Makefile.  Here is an example of some changes you could make.

make makefiles CCARGS=’-DDEF_COMMAND_DIR=\”/usr/local/sbin\” \
-DDEF_DAEMON_DIR=\”/usr/local/libexec/postfix\” \
-DDEF_MAILQ_PATH=\”/usr/local/bin/mailq\” \
-DDEF_NEWALIAS_PATH=\”/usr/local/bin/newaliases\” \
-DHAS_MYSQL -I/usr/src/mysql/include/mysql’ \
AUXLIBS=’-L/usr/src/mysql/lib/mysql -lmysqlclient’

On any server that you are compiling Postfix on, you need to take into account where the additional programs are that you want to compile with Postfix.  These directories will be in different locations depending upon the distro that you are using.

One application you may want to compile with Postifx is SASL support.  The illustration using CentOS but you can see how you would change directories for Ubuntu or Debian and it can work that way also.   Use yum to find out information on your version as you may have to make changes based on version.  Here you can see cyrus-sasl is version 2.1.22.

yum info cyrus-sasl

Name       : cyrus-sasl
Arch       : i386
Version    : 2.1.22
Release    : 4
Size       : 4.6 M
Repo       : installed
Summary    : The Cyrus SASL library.
URL        : http://asg.web.cmu.edu/sasl/sasl-library.html
License    : Freely Distributable
Description: The cyrus-sasl package contains the Cyrus implementation of SASL. SASL is the Simple Authentication and Security Layer, a method for adding
: authentication support to connection-based protocols.

The following assumes that the Cyrus SASL include files are in /usr/local/
include, and that the Cyrus SASL libraries are in /usr/local/lib.

On some systems this generates the necessary Makefile definitions:

% make tidy # if you have left-over files from a previous build
% make makefiles CCARGS=”-DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
-I/usr/local/include/sasl” AUXLIBS=”-L/usr/local/lib -lsasl2″

(for Cyrus SASL version 2.1.x):

% make tidy # if you have left-over files from a previous build
% make makefiles CCARGS=”-DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
-I/usr/local/include/sasl” AUXLIBS=”-L/usr/local/lib \
-R/usr/local/lib -lsasl2″

Why this won’t work.
ls /usr/include/sasl
hmac-md5.h  md5global.h  md5.h  prop.h  sasl.h  saslplug.h  saslutil.h

Modified
make makefiles CCARGS=”-DUSE_SASL_AUTH -DUSE_CYRUS_SASL \
-I/usr/include/sasl” AUXLIBS=”-L/usr/lib -lsasl2″

make upgrade

ldd `postconf -h daemon_directory`/smtpd
linux-gate.so.1 =>  (0x00bfc000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0×00464000)
libdb-4.3.so => /lib/libdb-4.3.so (0×00110000)
libnsl.so.1 => /lib/libnsl.so.1 (0×00207000)
libresolv.so.2 => /lib/libresolv.so.2 (0x003fc000)
libc.so.6 => /lib/libc.so.6 (0x0021e000)
libdl.so.2 => /lib/libdl.so.2 (0x00d22000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0×00362000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00d28000)
/lib/ld-linux.so.2 (0x00bb9000)

Compile MySQL with Postfix on CentOS

Posted by Filed Under Compile Postfix with Comments Off

CentOs MySQL Support
You may want to use MySQL to store passwords of accounts, especially when you are working with virtual mailboxes.  One thing to note when you do compile Postfix is to make good use of the READMEs are they are very helpful. Be sure that the paths are correct for your distro.  Here you can see the changes necessary for CentOS.

This is in the README
make -f Makefile.init makefiles \
‘CCARGS=-DHAS_MYSQL -I/usr/local/mysql/include’ \
‘AUXLIBS=-L/usr/local/mysql/lib -lmysqlclient -lz -lm’

Modified
make -f Makefile.init makefiles \
‘CCARGS=-DHAS_MYSQL -I/usr/include/mysql -I/usr/include’ \
‘AUXLIBS=-L/usr/lib/mysql -L/usr/lib -lmysqlclient -lz -lm’

ldd `postconf -h daemon_directory`/smtpd
linux-gate.so.1 =>  (0×00940000)
libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15 (0×00748000)
libz.so.1 => /usr/lib/libz.so.1 (0x00dd7000)
libm.so.6 => /lib/libm.so.6 (0x00d41000)
libdb-4.3.so => /lib/libdb-4.3.so (0×00411000)
libnsl.so.1 => /lib/libnsl.so.1 (0x001a1000)
libresolv.so.2 => /lib/libresolv.so.2 (0x003fc000)
libc.so.6 => /lib/libc.so.6 (0x00bdc000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x001ba000)
libssl.so.6 => /lib/libssl.so.6 (0×00110000)
libcrypto.so.6 => /lib/libcrypto.so.6 (0x0050a000)
/lib/ld-linux.so.2 (0x00bb9000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00d28000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0064d000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x006b0000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0×00157000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0×00688000)
libdl.so.2 => /lib/libdl.so.2 (0x00d22000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x0067d000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x00df8000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00db2000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00d6a000)

Build Postfix From Source on CentOS

Posted by Filed Under Compile Postfix with Comments Off

Building Postfix from source can be a rewarding experience with great results.  This tutorial will show you how to do a basic build and then following tutorials will show you how to build in additional features.
Download Source Code From Here:

http://www.postfix.org/download.html

postfix_source

When you download the source and unpack it you will find a README_FILES directory that contains instructions for the aspects of compiling Postfix.  This  is very valuable information that you must read.  All of the Postfix source files have their own manual page.

AAAREADME                                NFS_README
ADDRESS_CLASS_README                 OVERVIEW
ADDRESS_REWRITING_README         PACKAGE_README
ADDRESS_VERIFICATION_README      PCRE_README
BACKSCATTER_README                   PGSQL_README
BASIC_CONFIGURATION_README       QMQP_README
BUILTIN_FILTER_README                QSHAPE_README
CDB_README                               RELEASE_NOTES
CONNECTION_CACHE_README          RESTRICTION_CLASS_README
CONTENT_INSPECTION_README        SASL_README
CYRUS_README                         SCHEDULER_README
DATABASE_README                      SMTPD_ACCESS_README
DB_README                                SMTPD_POLICY_README
DEBUG_README                         SMTPD_PROXY_README
DSN_README                               SOHO_README
ETRN_README                              STANDARD_CONFIGURATION_README
FILTER_README                            STRESS_README
INSTALL                                  TLS_LEGACY_README
IPV6_README                              TLS_README
LDAP_README                              TUNING_README
LINUX_README                             ULTRIX_README
LOCAL_RECIPIENT_README               UUCP_README
MAILDROP_README                      VERP_README
MILTER_README                        VIRTUAL_README
MULTI_INSTANCE_README                XCLIENT_README
MYSQL_README                         XFORWARD_README

Compile a Basic Postfix
CentOS
Once you have downloaded the source code, move it into the /usr/src directory, other options are available.

mv postfix-2.6.5.tar.gz /usr/lsrc/

Untar the file which will create a directory.
tar zxvf postfix-2.6.5.tar.gz

Move into the new postfix directory.

cd postfix-2.6.5

Install the prerequisites

CentOS
yum install db*-devel

Postfix is built in C so you will be compiling C code.  Usually the options that you want to create for a project are contained in a Makefile.  The make utility creates this Makefile which is used to determine dependencies, any requirements needed or changes you want to create like adding programs or locations of files.  The compiler then takes this information and creates object files and links them together into executables.

However, since Postfix creates its own Makefile, you do not need to edit it at all.  In fact, the problem with editing the Makefile for Postfix is that your edits will get written over.  So, the way to make changes is to use the CCARGS.

Tools You will need

gcc
make

CentOS
yum install gcc make

When you start the dependencies will be located and installed for you.

Installing:
gcc                       i386        4.1.2-44.el5            base           5.2 M
Updating:
glibc                     i686        2.5-34.el5_3.1          updates        5.2 M
glibc-common         i386        2.5-34.el5_3.1          updates         16 M
nscd                      i386        2.5-34.el5_3.1          updates        159 k
Installing for dependencies:
cpp                       i386        4.1.2-44.el5              base           2.7 M
glibc-devel               i386        2.5-34.el5_3.1          updates        2.0 M
glibc-headers          i386        2.5-34.el5_3.1          updates        598 k
kernel-headers       i386        2.6.18-164.el5          updates        993 k
libgomp                   i386        4.3.2-7.el5             base            67 k

Since Postfix does not use  GNU autotools and so does not have the configure script that you may be used to.  Postfix will actually do this work for you by creating it’s own Makefile.   Run make as a normal user.

make

Once the compile is complete you will need to create the user and groups for Postfix.

groupadd postfix
groupadd postdrop

The user postfix needs to have an account that cannot log in and be a part of the postfix group that was created.

CentOS
useradd postfix -c postfix -d /tmp -s /bin/false
postfix:x:500:500:postfix:/tmp:/bin/false

Now run the final command which will allow you to choose directories and locations that you want to use with your installation.  Read each option closely so that when you run the command you have an idea on what you want to change, if anything.  You can take the default settings by choosing ENTER.  Note you will need to run this as root so you have permissions to write to these directories.

make install

Please specify the prefix for installed file names. Specify this ONLY if you are building ready-to-install packages for distribution to other machines.
install_root: [/]

Please specify a directory for scratch files while installing Postfix. You must have write permission in this directory.
tempdir: [/usr/local/src/postfix-2.5.5]

Please specify the final destination directory for installed Postfix configuration files.
config_directory: [/etc/postfix]

Please specify the final destination directory for installed Postfix administrative commands. This directory should be in the command search path of administrative users.
command_directory: [/usr/sbin]

Please specify the final destination directory for installed Postfix daemon programs. This directory should not be in the command search path of any users.
daemon_directory: [/usr/libexec/postfix]

Please specify the final destination directory for Postfix-writable data files such as caches or random numbers. This directory should not be shared with non-Postfix software.
data_directory: [/var/lib/postfix]

Please specify the destination directory for the Postfix HTML files. Specify “no” if you do not want to install these files.
html_directory: [no]

Please specify the owner of the Postfix queue. Specify an account with numerical user ID and group ID values that are not used by any other accounts on the system.
mail_owner: [postfix]

Please specify the final destination pathname for the installed Postfix mailq command. This is the Sendmail-compatible mail queue listing command.
mailq_path: [/usr/bin/mailq]

Please specify the destination directory for the Postfix on-line manual pages. You can no longer specify “no” here.
manpage_directory: [/usr/local/man]

Please specify the final destination pathname for the installed Postfix newaliases command. This is the Sendmail-compatible command to build alias databases for the Postfix local delivery agent.
newaliases_path: [/usr/bin/newaliases]

Please specify the final destination directory for Postfix queues.
queue_directory: [/var/spool/postfix]

Please specify the destination directory for the Postfix README files. Specify “no” if you do not want to install these files.
readme_directory: [no]

Please specify the final destination pathname for the installed Postfix sendmail command. This is the Sendmail-compatible mail posting interface.
sendmail_path: [/usr/sbin/sendmail]

Please specify the group for mail submission and for queue management commands. Specify a group name with a numerical group ID that is not shared with other accounts, not even with the Postfix mail_owner account. You can no longer specify “no” here.
setgid_group: [postdrop]

This should complete a basic setup for Postfix and you can then start postfix with:

/usr/sbin/postfix start

You should see port 25 listening when you run netstat.

netstat -aunt

Default Postfix Install
Here are the basic features compiled in the default Postfix.  You can see several features missing that you may want to compile into Postfix, SASL and MySQL are two that come up often.

ldd `postconf -h daemon_directory`/smtpd
linux-gate.so.1 =>  (0×00601000)
libdb-4.3.so => /lib/libdb-4.3.so (0×00411000)
libnsl.so.1 => /lib/libnsl.so.1 (0x001a1000)
libresolv.so.2 => /lib/libresolv.so.2 (0x003fc000)
libc.so.6 => /lib/libc.so.6 (0x00bdc000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00d28000)
/lib/ld-linux.so.2 (0x00bb9000)

Changes in Postfix for Ubuntu 9.10

Posted by Filed Under Postfix Configuration with Comments Off

The postcont -n command for Postfix shows you changes made to the default configuration.  Here is a listing of the new Ubuntu 9.10 and the output for Postfix.  As you can see nothing too significant except you see a focus on TLS for secure communication which is great, however this really needs to be addressed for users from the client side as TLS is still a problem with some clients.  The other change you see with Ubuntu 9.10 is there is no limit to mailbox size which by default is limited to 50 MB.  As an admin you will want to keep this in mind as no mailbox limits could bite you if you are not careful.

postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
mailbox_size_limit = 0
mydestination = ub910, localhost.localdomain, , localhost
myhostname = ub910
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

Managing Mailbox Size

Posted by Filed Under Mail Server Basics with Comments Off

There are default mailbox sizes which may lead to mail delivery failure when you go beyond the defaults.  In order to avoid problems you need to understand the difference between mailboxes and virtual_mailboxes as well as know the default sizes and how to adjust them.

Here is the error that you want to avoid:

mailbox /var/spool/vmaill/vmail/1: error

writing message: File too large

Mailbox Size Limit
Default mailbox size is 50 MB.  This means that if your mailbox goes beyond 50 MB, you will need to adjust the default or you will see the error, “File too large”.
The limit for any local mailbox or maildir is 50 MB but,  this can easily be changed with by using this directive in the main.cf file.  Be sure to restart Postfix if you make changes.

mailbox_size_limit=102400000

This changes the mailbox limit to 100 MB.  Or you can make it umlimited by using a “0″.

mailbox_size_limit=0

If you would like to review the current settings on your Postfix server use this command:

postconf -d | grep size
berkeley_db_create_buffer_size = 16777216
berkeley_db_read_buffer_size = 131072
body_checks_size_limit = 51200
bounce_size_limit = 50000
header_size_limit = 102400
mailbox_size_limit = 51200000
message_size_limit = 10240000


Message Size Limit
message_size_limit = 20480000

This is 20 MB.

Virtual Mailbox Limit
Note that the virtual_mailbox_limit is for the virtual accounts not the local accounts which are controlled by mailbox_size_limit.  The default limit is 50 MB or 51200000

virtual_mailbox_limit=0

This is unlimited.

If you are using PHP to send mail you may need to change other parameters  in the /etc/php.ini. Modify those  parameters to a higher value as below:

post_max_size = 30M
upload_max_filesize = 30M

Be sure to use the settings that work for you and recognize that as these limits get larger they may impact more aspects of your server so test them completely.

Why Do You Use Postfix?

Posted by Filed Under Postfix Configuration with 1 Comment

Recently we asked administrators why they used Postfix Mail Server.  Here are some of the responses:

“Being able to manage users and pretty much all mail aspects from a MySQL table”

“Security.  Postfix is rock solid and I do not have to worry about the security of the system once it is set up correctly”

“Flexibility!”

“I’ve been running Postfix on an array of servers for the last eight years.  I don’t think I’d ever switch to anything else.”

“We’ve run Postfix here at our company and couldn’t be happier”

“I am able to add whatever I want to it.  Including webmail options which we use.”

“We use Postfix because it is easier to configure than Sendmail and the modular design helps us save resources.”

“We actually use Zimbra but underneath at the heart of the program is Postfix.  We have the Zimbra interface to keep users happy”

“Stable … seems like all we do is keep getting mail like we are supposed to”

“Easy to set up”

Using Amavisd and Spamassassin to Block Spam

Posted by Filed Under Spam Control with Comments Off

There will be times when you have you have your Postfix Mail Server set up and Spam is under control and all of a sudden you will see a new wave of Spam hit your site.  This article will help you see how you can make some small adjustments to cut down on new waves of Spam.  Here is an example of the new wave of Spam I started getting.  I will take you through a few steps I used to eliminate this new wave.

Prospector specializes in delivering results for brokers, lenders as well as mortgage products and services
companies nationwide. If you need to jump-start your company’s sales or originations, we can help.

We understand the industry from the inside out and are the only B2B marketer that can GUARANTEE results
with every campaign. An industry leader for almost a decade, Prospector has the largest active network of loan
producers in the nation who are actively seeking help with their businesses.

We specialize in the following areas;

*    FHA, Commercial, Hard Money, Reverse, Conventional Programs
*    Loan Modification Networks and Affiliates
*    MTG Training and Education
*    Lead Generators
*    Loan Processing and Compliance

Step #1: Check Your Logs

When you check your logs you are looking for several things.  One thing that is important is to see what level this particular email was rated at by Spamassassin.  You can see the Hits at 6.353.  Now because my set up is using Amavisd-new, the hits and what results from those hits is listed in the /etc/amavisd.conf file.  The other thing I pick up from the logs is the IP Address of the mail server that is sending the Spam.

Aug 14 12:23:48 ns amavis[30026]: (30026-11) Passed SPAMMY, [64.235.53.98] [64.235.53.98] <noreply@hyperbiz1.com> -> <person@example.com>, Message-ID: <20090814122346.F1ABF27DF53440BF@hyperbiz1.com>, mail_id: OhHzJmCU7qmf, Hits: 6.353, size: 2637, queued_as: A710E207B83, 5129 ms
Aug 14 12:23:54 ns postfix/smtpd[7279]: < unknown[64.235.53.98]: EHLO hyperbiz1.com
Aug 14 12:23:54 ns postfix/smtpd[7279]: < unknown[64.235.53.98]: MAIL FROM:<noreply@hyperbiz1.com>
Aug 14 12:23:54 ns postfix/smtpd[7279]: extract_addr: input: <noreply@hyperbiz1.

Step #2: Drop Hit Levels

Here is the amavisd.conf file hit levels and you can see that the hit level above was 6.3 and the trigger to block the email is at 6.8.  Now an easy solution when you start seeing new Spam is to start slowly reducing the hit level.  So what I did is reduce the 6.8 down to 6.0 and then reduce the “spam detected” level from 6.2 to 5.8.  This is a small adjustment but made a big difference.

$sa_tag_level_deflt  = 2.0;  # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.2;  # add ‘spam detected’ headers at that level
$sa_kill_level_deflt = 6.8;  # triggers spam evasive actions (e.g. blocks mail)

Be sure to reload amavisd when you are done making changes.  Remember, amavisd is what controls Spamassassin in this set up.
./amavisd reload
Daemon [28054] terminated by SIGTERM, waiting for dust to settle…
becoming a new daemon…

Now one question you may ask is why not write a header check or some other check for regular expressions.  The answer is that the last thing you want to do is write a lot of special rules.  Try to control Spam by using general princicples that will help reduce Spam because if one wave of Spam is gettign through…another is on the way from someone else.

« Older Entries   Newer Entries »