./magic-smtpd 220 wizard.ca ESMTP MAIL FROM: josh@wizard.ca 250 ok RCPT TO: invaliduser@wizard.ca 550 User does not exist QUIT 221 wizard.cathis was a test with a user known to not be valid. If you receive a "250 ok" message rather than the "550 User does not exist" message in response to your "RCPT TO:" command, the system thinks that the user does exist. If this works properly, you should also test with a known-valid user:
./magic-smtpd 220 wizard.ca ESMTP MAIL FROM: josh@wizard.ca 250 ok RCPT TO: validuser@wizard.ca 250 ok QUIT 221 wizard.caIf you receive a "550 User does not exist" rather than the "250 ok" in response to your "RCPT TO:" command, this means that your configuration is incorrect. If it does not work for you, please recheck your configuration and try again. If it works properly and you get the proper response to both of these test cases: congratulations, you have successfully configured Valid-User checking.
/etc/magic-mail/control/auth_enableDoing this will turn on support for the SMTP AUTH command. The authentication can be done either against an external program, against a Berkeley DB file or (in the commercial version only) against the MagicMail database. Chapters 4.3, 4.4 and 4.5 give more information on configuring each of these authentication types.
http://cr.yp.to/checkpwd/interface.htmlBeing that the program only needs to be compatible with the checkpassword program, almost any program which is being used with an existing Qmail installation for POP3 authentication (assuming you are using the included qmail-popup and qmail-pop3d programs) can be used directly for SMTP authentication, including the vchkpw program included in the vpopmail package.
perl -e "use MIME::Base64; print encode_base64('username')" perl -e "use MIME::Base64; print encode_base64('password')"The resulting strings were: dXNlcm5hbWU= and cGFzc3dvcmQ= in this example. After you have the base64 encoded strings, you can make a telnet connection to the localhost (these commands should be run on the machine running magic-smtpd) and do a test of the SMTP Authentication feature (the italicized portions indicate your input):
telnet localhost 25 Trying 127.0.0.1.... Connected to localhost. Escape character is ''. 220 wizard.ca ESMTP EHLO wizard.ca 250-wizard.ca 250-AUTH LOGIN 250-AUTH=LOGIN 250-PIPELINING 250 8BITMIME AUTH LOGIN dXNlcm5hbWU= 334 UGFzc3dvcmQ6 cGFzc3dvcmQ= 235 ok, go ahead (#2.0.0)If you do not see the "AUTH LOGIN" lines as part of the response to your "EHLO" command, this means that the SMTP Authentication has not been properly enabled. Please double check your settings and try again. The "AUTH LOGIN" command's argument is the base64 encoded username. The subsequent "334 UGFzc3dvcmQ6" prompt actually says "334 Password:" as this string is base64 encoded, so your response should be the base64 encoded version of your password. If something is misconfigured, or your password or username are incorrect you will instead see either "454 problems performing authorization (#4.3.0)" or "535 authorization failed (#5.7.0)". If you receive either of these messages, you will need to doublecheck your settings and the username and password you are using. If you receive the "235 ok, go ahead (#2.0.0)" message as above: congratulations, you now have your server configured for SMTP Authentication and should be able to configure your mail client to use this.
<user@domain>where "user" and "domain" are at least 1 character and the <,@ and > characters are all present.
j.*@wizard.ca$which would match "josh@wizard.ca", "joe@wizard.ca" and any other email address with a name that starts with j and whose domain is wizard.ca. If you use a simple substring like:
wizardthis would match "josh@wizard.ca" or "wizard@domain.com" or any other address which contains the string "wizard".
m.*wizard.ca$which would match "mail.wizard.ca", "mx.wizard.ca" and any other address with a name that starts with m and whose domain is wizard.ca. If you use a simple substring like:
wizardthis would match "mail.wizard.ca" or "wizard.domain.com" or any other hostname which contains the string "wizard".
http://www.iana.org/cctld/cctld-whois.htmEach entry in this list should consist only of the two letters of the country code. No other characters should be present. The connecting IP address will be checked against a database in order to determine which country the client is connected from. If the country that the client connects from is found on the country_whitelist, the message will not be marked as spam regardless of what other rules determine the message is spam. If the country is on the country_blacklist, the message will be marked as spam. If a country is both whitelisted and blacklisted, the whitelist will take precedence.
/var/qmail/bin/qmail-queue
true | false |
true | false |
on | off |
yes | no |
1 | 0 |
/var/qmail/queue/NOTE: currently it is required to place a trailing "/" character on the directory specified by this option.
/var/qmail/control/defaultdomain
Value | Syslog Priority | Description |
0 | LOG_EMERG | system is unusable |
1 | LOG_ALERT | action must be taken immediately |
2 | LOG_CRIT | critical conditions |
3 | LOG_ERR | error conditions |
4 | LOG_WARNING | warning conditions |
5 | LOG_NOTICE | normal but significant condition |
6 | LOG_INFO | informational |
7 | LOG_DEBUG | debug-level messages |
http://magicmail.linuxmagic.com/
Rule Name | Value Type | SMTP |
spam_check | boolean | Yes |
smtp_blocking | boolean | Yes |
valid_from_domain | boolean | Yes |
virus_check | boolean | No |
block_non_printable | boolean | No |
use_spamassassin | boolean | No |
required_header_list | string | No |
subject_whitelist | string | No |
subject_blacklist | string | No |
header_from_whitelist | string | No |
header_from_blacklist | string | No |
all_global_rules | boolean | Yes |
smtp_check | boolean | Yes |
delivery_check | boolean | No |
check_dynamic_reverse_dns | boolean | Yes |
require_full_addr | boolean | Yes |
block_mail_from_self | boolean | Yes |
block_ip_in_addr | boolean | Yes |
require_me_in_dest | boolean | No |
valid_bounce | boolean | Yes |
require_helo | boolean | Yes |
valid_helo_domain | boolean | Yes |
mail_from_strict_addr_parse | boolean | Yes |
check_ip_reverse_dns | boolean | Yes |
use_global_from_blacklist | boolean | Yes |
use_global_from_whitelist | boolean | Yes |
from_blacklist | list | Yes |
from_whitelist | list | Yes |
helo_blacklist | list | Yes |
helo_whitelist | list | Yes |
use_global_helo_blacklist | boolean | Yes |
use_global_helo_whitelist | boolean | Yes |
use_global_country_blacklist | boolean | Yes |
country_blacklist | list | Yes |
country_whitelist | list | Yes |
use_global_ip_blacklist | boolean | Yes |
use_global_ip_whitelist | boolean | Yes |
ip_blacklist | list | Yes |
ip_whitelist | list | Yes |
Filename | Value Type | Default Value | Relevance |
add_check_flags | boolean | 0 | Commercial |
always_virus_check | boolean | 0 | Commercial |
auth_enable | boolean | 0 | Both |
check_valid_users | boolean | 0 | Both |
dbname | string | Commercial | |
dbhost | string | Commercial | |
dbport | string | Commercial | |
dbuser | string | Commercial | |
dbpwd | string | Commercial | |
defaultdomain | string | Both | |
dump_core | boolean | 0 | Both |
ext_check_passwd_prog | program | OpenSource | |
ext_check_user_prog | program | OpenSource | |
fallback_db | boolean | 1 | Commercial |
ip2country_datadir | directory | /usr/local/share/perl/5.6.1/IP/Country/Fast | Both |
log_level | integer | ountry/Fast | Both |
max_hops | integer | 100 | Both |
max_invalid_rcpt | integer | 0 | Both |
max_line_length | integer | 1024 | Both |
max_rcpt | integer | 0 | Both |
max_smtp_cmds | integer | 0 | Both |
qmail_local | program | /var/qmail/bin/qmail-local-real | Both |
qmail_queue | program | /var/qmail/bin/qmail-queue | Both |
qmailcontroldir | directory | /var/qmail/control/ | Both |
rcpt_delay_at | integer | 0 | Both |
rcpt_delay_inc | integer | 0 | Both |
rcpt_delay_max | integer | 0 | Both |
rfc_addr_only | boolean | 0 | Both |
stray_newline_detection | boolean | 1 | Both |
spam_check_enable | boolean | 0 | Both |
spam_log_db | boolean | 0 | Commercial |
spam_rule_dbfile | filename | /var/qmail/bin/qmail-local-real | Both |
spam_table | string | Commercial | |
use_database | boolean | 1 | Commercial |
use_dbfile | boolean | 0 | Both |
user_info_dbfile | filename | /var/qmail/bin/qmail-local-real | Both |
virus_local | program | /var/qmail/bin/qmail-local-real | Commercial |
welcome_message | filename | Commercial |