Global Settings

Note: Most 'matching' settings take wild card lists as parameters, for example "fred*" will match "freddy" and "Fred@bob". And "1.2.*,2.3.*" will match 1.2.4.4 and 2.3.99.100. Many settings will also accept a ! as a "not", and are processed from left to right. eg "!*,127.*,10.*" would first "deny all" then try and match on any 127.* or 10.* domains. Settings using ip's will take ranges also like 10.0.1-120.5 and also support CIDR notation eg 10.10.1.32/27.
You can read about CIDR notation here http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing and there is an online CIDR calculator here http://www.subnet-calculator.com/cidr.php.

g_access_group - Access groups

Access rules defining groups of IP addresses with certain POP, IMAP and SMTP privileges. When a user is authenticated access is checked against group membership defined in the "mailaccess" field in the authentication database. See accounts for more information.

eg. this could allow you to charge webmail users for pop access privileges:
g_access_group group=paid_user access_pop=* access_imap=* access_smtp=* 
g_access_group group=free_user access_pop=webmail.svr.ip access_imap=webmail.svr.ip access_smtp=webmail.svr.ip 

with "Access type" set to "free_user" on accounts page or equivalently in nwauth authentication database:
marijn@mydomain.com:{ssha}tVANQo...:created="1060034937" mailaccess="free_user" ...

To prevent webmail access for some users you would do this:

g_access_group_default "normal"
g_access_group group="normal" access_pop="*" access_imap=*" access_smtp="*"
g_access_group group="nowebmail" access_pop="*,!webmail.ip" access_imap="*,!webmail.ip" access_smtp="*"

And put the users you want to limit in a group called 'nowebmail' e.g.

lookup fred@domain
+OK fred@domaing config 0 mailaccess="nowebmail"

Syntax: g_access_group group=string access_pop=string access_imap=string access_smtp=string access_incoming=string

See also: g_user_alias, g_user_blogs, g_user_access, g_user_sms_quota, g_user_send_max, g_user_list_quota

g_access_group_default - Access group defaults

Access group defaults for users with no access groups set. (must be used in conjunction with g_access_group)

Syntax: g_access_group_default string

g_acctlog_authonly - Log sending usage based on authenticated accounts only and ignore "MAIL FROM" address - which may be fake!!

This setting has no further documentation currently available

Syntax: g_acctlog_authonly bool

g_acctlog_noaliases - Don't log redirection & aliases as sending mail as a result of redirection / forwarding (means you will not log account forwarding usage)

This setting has no further documentation currently available

Syntax: g_acctlog_noaliases bool

g_acctlog_sum_inactive - Summarise local accounts that have not logged in yet as not_loggedin_yet@domain.com

This setting has no further documentation currently available

Syntax: g_acctlog_sum_inactive bool

g_admin_access - Allow / Restrict domain admin access to features based on g_access_group

g_admin_access group="wildcard" access="list"

This setting matches the g_access_group the admin is in to the wildcard specified and applies the specified access list to that domain admin, giving / restricting thier access to certain features. The list may include any of the following:

Value Result
alias Access to domain users "Alias" page and features.
aspam Access to the "ASpam" page and features.
blog Access to the "Blogs" page and features.
bulletins Access to the "Bulletins" page and features.
centipaid Access to domain users "Centipaid" page and features.
enotify Access to domain users "Email Notification" page and features.
exceptions Access to domain users "Exceptions" page.
friends Access to domain users "Friends" pages, and system.
fwd Access to domain users "Forwarding" features, forwarding, auto-responder.
fwdonly Access to domain users "Forwarding" features, forwarding
lists Access to the "Lists" page and features.
log Access to domain users "Log" page.
mailbox Access to domain users "Mailbox" page, view mailbox, setup rules.
sms Access to domain users "Sms" page.
spam Access to domain users "Spam" page, and SmiteSpam and Aspam processing of messages.
spampriv Access to domain users "Spam" pages' spam private feature
spf Access to domain users "Spf" page and features.
usage Access to the "Usage" button, which shows a domain users usage.
users Access to the "Users" page and features.
redirect Access to the "Redirect" page and settings.
redirect_cc Access to the "Redirect CC" page and settings.

In addition you can prefix any of the above with ! to deny access. There are two other special case values, "all" and "none" which mean exactly what they say, access to "all" or "none" of the features.

Example:

g_admin_access group="simple" access="all,!users,!reports"

The above setting gives admins in the 'simple' group access to all the features except the users and reports features.

Syntax: g_admin_access group=string access=string

g_admin_access_default - Default features granted to domain admins

This setting is a default access list for all domain admins on the server, it is specified in the same maner as the g_admin_access settings 'access' parameter. eg:

g_user_access_default "all,!users,!reports"

Syntax: g_admin_access_default string

g_admin_guesses - Number of guesses allowed for admin.

Syntax: g_admin_guesses "number"

This sets the number of guesses allowed for the admin username/password. Once this has been reached the ip is banned.

Syntax: g_admin_guesses int

See also: g_admin_ip, g_admin_localhost, g_admin_access, g_admin_access_default, g_admin_utoken_expire, g_admin_utoken_idle

g_admin_ip - Admin IP access

Mask of valid IP addresses for admin users (default *), this is a security setting you can use to restrict remote web admin access to trusted IP addresses. One is always allowed to use manage SurgeMail using 127.0.0.1 regardless of whether this is explicitly specified.

eg. To restrict to local network as per net mask
g_admin_ip "10.0.0.*,10.1.2.*" 

Syntax: g_admin_ip string

g_admin_localhost - Allow localhost web admin without user/pass

Allows a localhost connection to access the web admin port without using the administrator username / password. This is good if you keep forgetting the admin password like I do.

Syntax: g_admin_localhost bool

See also: g_admin_ip, g_admin_guesses, g_admin_access, g_admin_access_default, g_admin_utoken_expire, g_admin_utoken_idle

g_admin_utoken_expire - Length of time a web admin session is valid for

This setting has no further documentation currently available

Syntax: g_admin_utoken_expire int

g_admin_utoken_idle - Length of time a web admin session may remain idle for

This setting has no further documentation currently available

Syntax: g_admin_utoken_idle int

g_alias_login_disable - Disable user login as alias

Stops the user login to pop or imap as the alias account

Syntax: g_alias_login_disable bool

g_allow_bodyless - Allow bodyless email

This will allow bodyless email to be accepted. These are usually spam.  In particular Norton Antivirus in autoprotect mode closes the POP link which makes it appear that SurgeMail has terminated the connection when a bodyless email is encountered.

Syntax: g_allow_bodyless bool

g_allow_passzip_from - A list of addresses to allow unmonitorable archive messages to be sent from

These may of course contain viruses as they cannot be scanned, but some people still need to be able to accept such files.

Syntax: g_allow_passzip_from string

g_allow_passzip_to - A list of addresses to allow unmonitorable archive messages to be sent to

These may of course contain viruses as they cannot be scanned, but some people still need to be able to accept such files.

Syntax: g_allow_passzip_to string

g_allow_user_authent_field_get - A space separated list of authent process fields that users are allowed to view for themself using the POP xauthent_field_get command

This provides limited access to the user database for applications like webmail and surgeplus.

Syntax: g_allow_user_authent_field_get string

See also: g_webmail_limit, g_webmail_port, g_webmail_secure_port, g_webmail_timeout, g_webmail_useip, g_webmail_popmode, g_webmail_url, g_webmail_urladd, g_webmail_workarea, g_webmail_select_domain, g_webmail_secret

g_allow_user_authent_field_set - A space separated list of authent process fields that users are allowed to set for themself using the POP xauthent_field_set command

This provides limited access to the user database for applications like webmail and surgeplus.

Syntax: g_allow_user_authent_field_set string

See also: g_webmail_limit, g_webmail_port, g_webmail_secure_port, g_webmail_timeout, g_webmail_useip, g_webmail_popmode, g_webmail_url, g_webmail_urladd, g_webmail_workarea, g_webmail_select_domain, g_webmail_secret

g_archive - Archive delivered mail

Archive rules allowing all mail delivered to be archived to either:

- Fixed size rotating archive - use this if you want to be able to get back a particular message that has recently passed thorugh the server but you do not want the mail archives to be able to grow too large

- History archive of a fixed (or unlimited) duration that can grow as much as the disk space available. Use this if you need to archive say all mail sent to / from a particular customer for the last year.

The archive is stored as a directory containing bucket files. This allows you to retrieve messages that have been delivered if you need to retrieve a particular message for any reason. To retrieve a message this needs to be extracted manually from the archive files manually using a text editor or your own script. The maximum bucket size (default if 1Mb) of the archive and the maximum individual message size can be set.

Filtering is done based upon wildcard destination and source addresses and subject. These fields provide a logical AND, with a blanks filed matching the default "*". A specific email may match multiple archive rules, and will be archived in each archive in this case. Also note that if a match is part of a larger string the match string should have wildcards surrounding it. eg: to match "important business" in the subject "Very important business for you" you should specify "*important business*".

eg. To catch all email delivered from domain.com you would specify:
g_archive to="*" from="*@domain.com" subject="" path="c:\mailarchive" size="10mb" maxitem="10k" 

You can also select whether the archiving rule is triggered before or after any filtering that is applied such as virus or spam filtering using the early flag. This can be useful to capture the original source of viruses or spam for testing purposes.

Syntax: g_archive to=string from=string path=string subject=string size=string maxitem=string keep=string early=bool owner=string

g_archive_bucketsize - Size for archive bucket files. Default is 1mb

Sets the size of the archive buckets used by the circular archives. If set too large then editing the buckets manually is awkward.

Syntax: g_archive_bucketsize int

See also: g_archive, g_archive_tcpip, g_archive_tcpip_host, g_archive_early, g_archive_on_delete, g_archive_on_delete_dir, g_archive_files

g_archive_early - Apply all archive rules before content filtering is applied (obsolete)

This will apply the archive rules before content filtering is applied. This can be user to capture the source message if it is getting stored or bounced unnecessarily by any of the SurgeMail filters. The early flag on individual archive rules should be used instead of this setting.

Syntax: g_archive_early bool

g_archive_files - Archive attachments to a directory

Each message to the named account will have it's attachments removed and placed in the named directory. The path can contain the symbols $month$ $year$ $day$ $second$. The 'second' is only within this day. Together these variables can be used to ensure a unique path is used for each file if the names might conflict. Use g_redirect_cc to archive email going to an existing account because if you set 'to' equal to a real account then the real account will stop receiving messages!

Syntax: g_archive_files path=string to=string files=string

g_archive_on_delete - Don't delete user files, archive them to g_archive_on_delete_dir

When deleting a user, archive the users files in the g_archive_on_delete_dir archive directory.

Syntax: g_archive_on_delete bool

g_archive_on_delete_dir - Directory to archive user files to on delete

Directory to archive deleted users files to. Defaults to 'archive' in the SurgeMail installation folder.

Syntax: g_archive_on_delete_dir string

g_archive_tcpip - Rules for TCPIP archive process

Contact netwin for more details of this mechanism if you wish to use it.

Syntax: g_archive_tcpip to=string from=string path=string dom=string

g_archive_tcpip_host - Host to send archive data too

When using an archive server this defines the host that is running the archive server. Contact netwin if you need more info on this feature.

Syntax: g_archive_tcpip_host string

g_aspam_headers - Add aspam information messages to messages.

Adds informational aspam headers to all messages.

Syntax: g_aspam_headers bool

See also: g_aspam_need_ip

g_aspam_need_ip - Require good matches to match external ip address

This prevents poluted bad messages in aspam_good causing spam to bypass the filters, but reduces effectiveness of the notspam address.

Syntax: g_aspam_need_ip bool

See also: g_aspam_headers

g_assume_created_epoch - If user has no 'created' field assume they were created an arbitrarily large time in the past

This setting effect the g_disable_smtp_after and g_delete_user_after settings which, by default, ignore users who have not logged in and have no created field.

Syntax: g_assume_created_epoch bool

g_atrn_client - Define a rule for fetching email

This is the setting for clients to define to fetch mail from an upstream server. Typically this is done on the special port 366, to specify another port use host:port in the host setting. E.g. host="smtp.upstream.com:25"

Syntax: g_atrn_client domain=string user=string pass=string host=string

See also: g_atrn_server, g_atrn_port

g_atrn_port - Port to listen for 'atrn' (On Demand Relay) requests

See g_atrn_server for more details, the default is port 366, atrn is not obeyed on port 25

Syntax: g_atrn_port string

See also: g_atrn_server, g_atrn_client

g_atrn_server - On Demand Mail Relay settings to define user/pass for clients to fetch mail

This allows a client on a dynamic IP to connect and request mail for a specific domain after authenticating by using the ATRN command. Typically this is done on the special port 366

Syntax: g_atrn_server domain=string user=string pass=string

See also: g_atrn_client, g_atrn_port

g_auth_hide - Disable SMTP Authentication

Per default SMTP authentication is enabled. If a user matches this IP range/list they will NOT be shown the ESMTP extension for SMTP authentication. This will usually stop the mail client from prompting the user for authentication. We STRONGLY recommend you do NOT use this feature. It is much better to let users authenticate when sending email.

Syntax: g_auth_hide string

g_auth_norelay - Ignore SMTP auth for relaying purposes

This means relaying only occurs if g_relay_allow_ip matches

Syntax: g_auth_norelay bool

g_auth_skipgateway - Skip gateway rules if we get a proxy SMTP auth command

Skip gateway rules if we get a proxy SMTP auth command. This is not for general use. It can be used if you are using SurgeMail in front of another mail server with a wild card gateway to gateway all domains to a back end mail server. Then an authenticated user is a local user trying to send out so the gateway rules are ignored. (this is strongly not recommended)

Syntax: g_auth_skipgateway bool

g_authent_allow_badascii - Allow ascii chars outside the range 32 < 127

By default ascii characters < 32 and >= 127 are blocked as invalid. If you require these characters set this to TRUE.

Syntax: g_authent_allow_badascii bool

g_authent_always - Always lookup user, so virtual domains can exist just in authent module

Always lookup user, so virtual domains can exist just in authent module. This allows you to support 10,000 domains on one system without a 'huge' ini file. Be careful to not create/remove real domains with the same name as existing domains that only exist in the authent database as the 'drop files/inboxes' will move when this occurs and existing mail will vanish.

Syntax: g_authent_always bool

g_authent_any - Restore buggy behaviour of looking up users in domains that don't exist

Previously surgemail would lookup a user even if the domain in question did not exist, if you need to restore this odd behaviour then you can use this setting...

Syntax: g_authent_any bool

g_authent_cachebad - Cache life of failed authent lookups

Set the life in seconds that the cached failed lookups can be used, default 60 seconds. Best left alone unless your server is being hit by thousands of failed lookups and your authent module is slow.

Syntax: g_authent_cachebad int

g_authent_cachelife - Cache life of successful authent lookups

Set the life in seconds that successful cached lookups can be used, default 2 hours. Best left alone.

Syntax: g_authent_cachelife int

g_authent_cachesize - Size of the authent cache

Set the size of the authent cache, default is 500 entries. Generally best left alone.

Syntax: g_authent_cachesize int

g_authent_domain - Authent domain

If this is 'true', the virtual domain name is appended to the username before it is passed to the authent process. This lets the authent process deal with virtual domains. As a general rule, this should ALWAYS be true. 

Syntax: g_authent_domain bool

g_authent_encrypt_key - Encryption key for ccnumber auth field

Not for general use currently, used to partially obscure credit card info when stored in the authent module.

Syntax: g_authent_encrypt_key string

g_authent_info - Authent info

Defines a piece of information to store about the user in the user database (phone number, name, address etc). Each piece of information is given a name, a field, an access mode, a default and a type. The name defines what appears in the web management display. The field is what is sent to the authent_process. The access mode can be one of the following: user, domadmin, or admin, createonly, none. The default is what value is assigned upon creation of a new user. The type can be one of: date, readonly, encrypt or any custom string which you want to check for or match on the na_details.htm page with a template function like: ||ifequal||user_info_type||custom|| .. do things .. ||endif||

An access mode of 'admin' means that only the system admin can see the information, 'domadmin' means the sysadmin and any domain admin can see the information, 'user' means the user can see the information, 'createonly' means the user sets the information at creation time but cannot see it after that and 'none' ensures that no-one can see or modify the information (used for information that is handled by SurgeMail itself, either through the interface or otherwise)

e.g.
      g_authent_info      name="Phone Number" field="phone" access="user" default="" type=""

See here for a complete list of default settings.

Syntax: g_authent_info name=string field=string access=string default=string type=string

g_authent_info_grp - Fields to show to users in this group

Specifies the authent fields this user group is allowed to see and change. This applies only to the fields visible on the account properties page and the domain admin "Users" page it cannot be used to prevent access to fields which are managed by the web interface i.e. 'fwd'

Syntax: g_authent_info_grp group=string fields=string tag=string

g_authent_ip - Authent Lookup IP numbers via authent modules - enables relaying

If enabled each connecting IP address will be looked up in your user database as x.x.x.x@ip eg: "127.0.0.1@ip" and if the user is found then relaying is allowed and if 'send_limit="nn"' is defined then that will set the tarpit send limit for that user.

For per IP tarpit limits to work you need to define the g_tarpit_max and g_tarpit_max_remote settings. And g_tarpit_drop to make the limit effective.

Syntax: g_authent_ip bool

g_authent_last_login - Store users last login time in the database

This setting will cause the authent field 'last_login' to be updated when a user logs in. The field is set to a timestamp which is 'the number of seconds since midnight January 1, 1970'. This field is updated 'at most' once every 24 hours. Other features i.e. delete_user_after and disable_smtp_after will look for this field.

Syntax: g_authent_last_login bool

g_authent_logall - Turns on logging of authent requests

If enabled, authentication requests are logged in mail.log as "<day> <time> Authent[<action> <info>]".

Syntax: g_authent_logall bool

g_authent_number - Authent number

The number of concurrent authent processes to run. If you are using a slow external authent module (e.g. sql) then it is probably worth running 3-4, there is no need to have more than 1 when using nwauth.exe. (Default = 1) 

Syntax: g_authent_number int

g_authent_process - Authent process

The command line of a NetWin authentication module. You can use one of our standard modules for LDAP, ODBCAuth, MySQL etc or write your own. For more information on these modules see the authentication section of the manual .

This will typically be something like:
g_authent_process "E:\surgemail\nwauth.exe -path E:\surgemail"
or
g_authent_process "/usr/local/surgemail/nwauth -path /usr/local/surgemail"

Syntax: g_authent_process string

g_authent_restart - Cycle auth modules every 1000 lookups

This is useful if there are resource allocation issues in the authentication module. Eg OBDCAuth

Syntax: g_authent_restart bool

g_authent_single - Allow local users with a single quote char in their name

This let's users exist who contain the single quote ' character. It is not supported with some authent modules though, nwauth does allow it.

Syntax: g_authent_single bool

g_authent_spaces - Allow spaces in passwords DO NOT USE

Not supported for most authent modules, requires nwauth 4.0r or later, If you have already got users with spaces in their passwords and you turn this setting on, they will no longer be able to login until they reset their passwords. Authent module must support slash encoding, for nwauth add -spaces to command line

Syntax: g_authent_spaces bool

g_authent_strip_domain - Strip domain for authent lookups

Use when your database expects one 'primary' domain to do lookups without a domain name then SurgeMail will strip that domain only from lookups. Typically this is only necessary with old DMail authent modules.

Syntax: g_authent_strip_domain string

g_authent_timeout - Timeout for authent response

Timeout for authent response, default 60 seconds.

Syntax: g_authent_timeout int

g_autologin_file - File to use to share auto login information on NFS based cluster

This allows webmail to autologin when using an nfs based cluster and a load sharing device.

Syntax: g_autologin_file string

g_autologin_imap_disable - Disable IMAP based autologins

IMAP autologins allow autologin to surgeweb.

Syntax: g_autologin_imap_disable bool

g_autologin_pop - Enables WebMail Autologin using POP when on another server

Webmail needs the ability to automatically login to SurgeMail to changes passwords etc. This setting will do this via an extension to the pop protocol allowing WebMail to autologin whilst running on another server. (Normally this is done using a temporary file)

Syntax: g_autologin_pop bool

g_bad_login_allow - Number of consecutive bad logins for a user before blocking that user

Number of consecutive bad logins for a user before blocking that user.

Syntax: g_bad_login_allow int

g_bad_login_ip_allow - Number of bad logins from an IP before blocking that IP

Number of bad logins from a single IP before blocking that IP.

Syntax: g_bad_login_ip_allow int

g_bad_login_ip_ignore - IP address(es) to ignore bad logins from

Use for webmail system or other local gateway to stop bad login counter from locking out all users.

Syntax: g_bad_login_ip_ignore string

See also: g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_badfrom_noip, g_badfrom_noip_temp, g_badfrom_check, g_badfrom_stamp, g_badfrom_badmx, g_badfrom_from, g_badfrom_whitelist

g_bad_login_mins - Minutes to block login for, if consecutive bad ones received

Minutes to block login for, if consecutive g_badlogin_allow or g_badlogin_ip_allow bad logins received=.

Syntax: g_bad_login_mins int

g_badfrom_badmx - Drop message if this MX

If mx host is one of these addresses then drop the message, it's definitely spam (e.g. 127.*).

Syntax: g_badfrom_badmx string

g_badfrom_check - Check if 'from' envelope can be delivered to

If this is set to "true" then SurgeMail will connect back to the envelope 'from' address and check that the address is valid, a cache is used to improve performance, if it cannot connect then the message is bounced as probable spam. It's nicer to use the following setting "g_badfrom_stamp" as well, then if SurgeMail cannot connect back or the user is invalid then a header is added to indicate this, and our SmiteSpam rules will use this to increase the spam weighting.

You can use g_spam_allow to exempt an IP from this check as well as g_badfrom_whitelist for a domain. Please note that by default SurgeMail uses a blank mail from to do its check.
MAIL FROM: <>
Some servers might reject this, though they shouldn't because its a standard bounce, however if they do you can use g_badfrom_from to set a mail from address to be used for this check.

Syntax: g_badfrom_check bool

g_badfrom_from - Mail from account for g_badfrom_check

From to use when doing the g_badfrom_check check, not normally needed, if set must be set to valid account.

Syntax: g_badfrom_from string

g_badfrom_noip - Check envelope from domain exists and is a valid IP number

Check envelope from domain exists and is a valid ip number, if not bounce message.

Syntax: g_badfrom_noip bool

g_badfrom_noip_temp - Makes g_badfrom_noip return a temporary error instead of a 501 error

Use g_verify_mx_skip to bypass/whitelist ip addresses from this check

Syntax: g_badfrom_noip_temp bool

g_badfrom_stamp - If 'g_badfrom_check' is bad then stamp a header on the message

g_badfrom_check must also be set to true. If this is set to "true" then SurgeMail will connect back to the envelope 'from' address and check that the address is valid, a cache is used to improve performance, if it cannot connect then a header is added to indicate this, and our SmiteSpam rules will use this to increase the spam weighting.

Syntax: g_badfrom_stamp bool

g_badfrom_whitelist - Whitelist of domains to skip from checks

Whitelist of "from" address domains to skip g_badfrom_* checks.

eg.
g_badfrom_whitelist "specialdomain.com"

Syntax: g_badfrom_whitelist string

g_ban_blackhole - Leave connected but reject all recipients without looking them up

Leave connected but reject all recipients without looking them up. This is good of dealing with high volume spammers without wasting resources doing user lookups. 

Syntax: g_ban_blackhole bool

g_ban_from - Ban any matching MAIL FROM: envelope

Same as 'ban_helo' but applies to the from (return address) part of the mail envelope. This is NOT the same as the from/sender header in the message itself!!! This equates to the 'Return-path:' header that the mail server adds. 

Syntax: g_ban_from string

g_ban_helo - Ban any machine that gives a matching 'helo' string

This is a simple spam protection system to block known spam/problem users based on the 'helo' name they send to your system. This name is recorded in the 'received' header along with the IP address. This name is very easy to 'fake' so is not a high security level of protection, but it is simple for stopping stupid robots etc, that have gone insane.

Example: *junkmail.com 

Syntax: g_ban_helo string

g_ban_rcpt - Ban any matching RCPT TO: envelope

Same as 'ban_helo' but applies to the recipient part of the envelope (destination users) this is NOT the same as the 'To:' header in the message itself!!! This can sometimes be used to block really simple spamming programs that always send to the same invalid users. 

Syntax: g_ban_rcpt string

g_bank_debug - Log request to bank server

Use when trying to debug the g_bank_url post/response

Syntax: g_bank_debug bool

See also: g_bank_url, g_bank_user, g_bank_pass, g_bank_ok, g_bank_reason, g_bank_log, g_bank_group

g_bank_group - Create price groups with descriptions

See g_bank_url for details

Syntax: g_bank_group group=string price=string desc=string

See also: g_bank_url, g_bank_user, g_bank_pass, g_bank_ok, g_bank_reason, g_bank_log, g_bank_debug

g_bank_log - Log lines matching this in response.

See g_bank_url for details

Syntax: g_bank_log string

See also: g_bank_url, g_bank_user, g_bank_pass, g_bank_ok, g_bank_reason, g_bank_debug, g_bank_group

g_bank_ok - Find this in response, if found then charge was successful

See g_bank_url for details

Syntax: g_bank_ok string

See also: g_bank_url, g_bank_user, g_bank_pass, g_bank_reason, g_bank_log, g_bank_debug, g_bank_group

g_bank_pass - Password for authenticated web request to banks system

See g_bank_url for details

Syntax: g_bank_pass string

See also: g_bank_url, g_bank_user, g_bank_ok, g_bank_reason, g_bank_log, g_bank_debug, g_bank_group

g_bank_reason - This line is returned to user if it is found

See g_bank_url for details

Syntax: g_bank_reason string

See also: g_bank_url, g_bank_user, g_bank_pass, g_bank_ok, g_bank_log, g_bank_debug, g_bank_group

g_bank_url - URL to charge a credit card (experimental)

This allows automated monthly charging of users

Syntax: g_bank_url string

See also: g_bank_user, g_bank_pass, g_bank_ok, g_bank_reason, g_bank_log, g_bank_debug, g_bank_group

g_bank_user - Username for authenticated web request to banks system

See g_bank_url for details

Syntax: g_bank_user string

See also: g_bank_url, g_bank_pass, g_bank_ok, g_bank_reason, g_bank_log, g_bank_debug, g_bank_group

g_bind_byfromip - Bind outgoing SMTP connections to the specified IP based on the sender IP

This setting has no further documentation currently available

Syntax: g_bind_byfromip fromip=string bindip=string

g_bind_from - Bind outgoing SMTP connections based on 'from' envelope

Bind outgoing SMTP connections based on the IP of the virtual domain in 'from' envelope. This is only useful if you are using IP based virtual domains. 

Syntax: g_bind_from bool

g_bind_incoming - Bind outgoing SMTP connections based on incoming ip address

So if the incomnig mail came in on interface address 1.2.3.4 then that same address is used to send the email

Syntax: g_bind_incoming bool

g_bind_out - Bind outgoing smtp connections to IP

Bind outgoing smtp connections to this IP number. 

Syntax: g_bind_out string

g_black_above - Level for spam detection for g_black_count

Level for spam detection for blacklisting IP number e.g. 7. 

Syntax: g_black_above int

g_black_count - Blacklist sender IP based on spam sent

Number of spam in a row before IP blacklisted for 30 minutes eg: 30 (default = disabled)

Syntax: g_black_count int

g_black_isspam - Blacklist ip address for any spam training event

This setting has no further documentation currently available

Syntax: g_black_isspam bool

g_black_to - Blacklist sender IP based on catch addresses

Blacklist senders IP address for 30 minutes if they deliver to these spam catch email addresses.

eg. g_black_to "smith@mydomain.com,catcher@myotherdomain.com"

Syntax: g_black_to string

g_black_white - Whitelist to prevent blacklisting, e.g. 1.2.3.*,mail*.aol.com

This setting has no further documentation currently available

Syntax: g_black_white string

g_block_files - Block certain attachments

Allow you to block any mail with certain files attached. 

g_block_files "*.exe,*.cmd,*.com"

Syntax: g_block_files string

See also: g_block_wild, g_block_skip, g_block_longok, g_debug_block

g_block_longok - If true allow long file names (more than 180 char)

By default files names over this length are ALWAYS blocked if g_block_files is used, in rare situations these are not just viruses attempting to get around the filter.

Syntax: g_block_longok bool

See also: g_block_wild, g_block_files, g_block_skip, g_debug_block

g_block_skip - From or To address to bypass g_block_files

Some users will need to send various attachments, these users are excempt to the g_block_files rule

Syntax: g_block_skip string

See also: g_block_wild, g_block_files, g_block_longok, g_debug_block

g_block_wild - Block wildcards in usernames

Block the '*' wildcard character in usernames.

Syntax: g_block_wild bool

g_blogs_allow_links - Allow users to post comments that contain urls

Due to widespread abuse of blogs this is not recommended.

Syntax: g_blogs_allow_links bool

g_blogs_cleanup_links - Delete existing posts that contain urls

This setting will help cleanup existing spam postings to your users blogs.

Syntax: g_blogs_cleanup_links bool

g_blogs_comment_rev - Show blog comments newest first

Helps if there are lots of comments, this is a global setting not per blog..

Syntax: g_blogs_comment_rev bool

g_blogs_default_template - Default template set that is used by newly created blogs

This setting can have a value of the name of any directory in the SurgeMail blogtpl directory

Syntax: g_blogs_default_template string

g_blogs_domonly - Only list blogs in a users domain

By default all blogs in all domains are listed/shown to the user. This setting causes it to only list blogs in the users domain.

Syntax: g_blogs_domonly bool

g_blogs_enable - Surgemail blogs

Allow users to create blogs

Syntax: g_blogs_enable bool

g_blogs_image_optional - Allow users to specify if image verification is required for comments

By default image verification is now required, this prevents spammers from abusing the many 'test' blogs set up by your users.

Syntax: g_blogs_image_optional bool

g_blogs_max_per_user - Maximum number of blogs per user

Maximum number of blogs per user, default is 5

Syntax: g_blogs_max_per_user int

See also: blogs_max_per_user, g_user_blogs

g_blogs_maximum_image_size - Default maximum image size

Images larger than this (in largest dimension) that are posted to blogs are scaled down, default is 390, per blog setting can overide this.

Syntax: g_blogs_maximum_image_size int

g_blogs_maximum_image_width - Default maximum image width

Images larger than this that are posted to blogs are scaled down, default is 390, per blog setting can overide this.

Syntax: g_blogs_maximum_image_width int

g_blogs_maximum_items_in_top_page - Maximum number of items on the top blog page

Maximum number of post bodies to appear on a blog top page, default is 10

Syntax: g_blogs_maximum_items_in_top_page int

g_blogs_no_suffix - Shortens URL, url_blogs must be defined for each domain

This shortens http://a.com/blog/juggling to http:/a.com/juggling, but does require that you define a specific name for the blogs in the domain based url_blogs setting

Syntax: g_blogs_no_suffix bool

g_blogs_not_global - Only allows access to a blog onthe domain it is defined on

Only allows access to a blog on the domain it is defined on, this is not recommended. (probably want to use g_blogs_not_unique, g_blogs_domonly too)

Syntax: g_blogs_not_global bool

g_blogs_not_unique - Allow the same blog name in multiple domains

If set you can create different blogs with the same name in different virtual domains, this is not recommended.

Syntax: g_blogs_not_unique bool

g_blogs_ping - Sites to ping on each post

Host and path to ping on each blog post. eg: host=rpc.weblog.com path=/RPC2

Syntax: g_blogs_ping host=string path=string

g_blogs_sub_domain_prefix - Prefix to use instead of blogs. for blog subdomains. use ! to have no prefix.

Experimental feature do not use

Syntax: g_blogs_sub_domain_prefix string

g_blogs_use_sub_domains - Make blogs accessible at http://blog_name.domain/

If you're DNS entry supports it, turn on this setting to make blogs accessible at http://blog_name.blogs.domain/ instead of http://domain/blogs/blog_name

Syntax: g_blogs_use_sub_domains bool

g_body_filter - Enable user email body filtering

Allows the user to configure filters which filter the body of incoming messages

Syntax: g_body_filter bool

g_bomb_max - Max messages to a single address per hour

Simple system to prevent intentional or more likely, accidental mail loops or mail bombs where thousands of Emails are sent to a single user. A setting in the range of 100-1000 is generally good depending on your sensitivity to incorrectly blocking real mail.  We suggest 1000 is a good setting if you are unsure.

This counts the messages from a single IP address to a single recipient. If a single IP sends more than this many messages to any single recipient then they will be tarpitted (slowed down and rejected).

Use spam_allow ip.address.list to over-ride the limit for known local systems that might exceed this limit (unlikely anything will).

Syntax: g_bomb_max int

g_bomb_max_from - Max msgs from a single email address/hour

Max msgs from a single email address/hour.

Syntax: g_bomb_max_from int

g_bounce_bind - Use a specific ip address for outgoing bounces

Some RBL sites blacklist machines for sending bounces, which is probably a good thing. But even with spf running your server may occasionally send a bounce to a forged address, and so you can use an alternate ip address for these bounces to avoid blacklisting your main mail server address. First you must assign the ip address to your network interface etc

Syntax: g_bounce_bind string

g_bounce_disable - Bounce Disable

Disable all bounces. This is particularly useful when under spam attack. This is for outgoing bounces it stops SurgeMail generating bounces it won't affect incomming bounces from other servers.

example:
g_bounce_disable "true"

Syntax: g_bounce_disable bool

g_bounce_limit - Max size of bounce messages

Max size in bytes of message to send back as bounce message is truncated if necessary.

Syntax: g_bounce_limit int

g_bounce_nodrop - Enables locally generated bounces for non local users

This setting makes bounces occur normally, the reason bounces are normally dropped for non local users is that they are almost always spam bouncing off another server due to forwarding settings, and as such sending a bounce email will get your server black listed, so we decided it was best to drop them by default since they are rarely useful. Turn this setting on at your own risk :-). Instead use g_bounce_to to list domains that it is safe to bounce to.

Syntax: g_bounce_nodrop bool

g_bounce_redirect - Send all bounces to a local address

This can be used to avoid 'back scatter' which can get your server listed in various black listed sites. In general your server should not generate bounces so if you get lots you may find changing config settings can stop them. Note this only redirects bounces to non local recipients, so your users sending outgoing mail will still get their own bounce messages.

Syntax: g_bounce_redirect string

g_bounce_reject - Reject bounces by ip address from known dumb mail servers

Some mail servers (exchange) will accept email, then bounce it, this is now considered a 'crime' and will get your server black listed, so if you have surgemail running as a gateway for such servers you can tell it to reject any bounce that server is foolish enough to send you.

Syntax: g_bounce_reject string

g_bounce_some_stop - Disables locally generated bounces for partial message failure

This can decrease back scatter, but it has other bad effects, it can result in duplicate messasges arriving

Syntax: g_bounce_some_stop bool

g_bounce_suggest - Send bounces to postmaster if spf cannot be verified

This may help stop black listing for backscatter while still alerting the sending domain admin that one of their users emails to your server bounced, You can specify a template file suggest.eml if you don't like the default message suggesting the postmaster add spf records for their domain

Syntax: g_bounce_suggest bool

g_bounce_to - Domains to treat as local and send bounces to

This setting makes bounces occur normally, the reason bounces are normally dropped for non local users is that they are almost always spam bouncing off another server due to forwarding settings, and as such sending a bounce email will get your server black listed, so we decided it was best to drop them by default since they are rarely useful. Turn this setting on at your own risk :-). Instead use g_bounce_to to list domains that it is safe to bounce to. e.g. *@a.com,*@b.com

Syntax: g_bounce_to string

g_breakin_white - Email addresses that can send from multipe ips

When a hacker guesses a password on your system they will often send outgoing spam to your server from multiple ip addresses, Surgemail detects this and emails the administrator when it occurs, use this setting to enable specific users who need to do this (this is very unusual though)

Syntax: g_breakin_white string

g_bull_rule - Post bulletins to this domain

Senders must be authenticated user that matches the sender, domain can be blank to send to all domains, the to field is the address you will send posts to, typically something like: bulletins@your.domain.name

Syntax: g_bull_rule to=string domain=string sender=string

g_centipaid - see CentiPaid.htm

Authentication server and port for CentiPaid.

Syntax: g_centipaid string

g_cid_skip_to - Skip CID score, good for lawyers etc

Some users will trigger CID matches due to the nature of their business (accountants/lawyers) for these people you may want to list them here. CID is content matching, usually scams which often use legal language.

Syntax: g_cid_skip_to string

See also: g_friends_spam_score, g_imap_spam_train, g_spam_allow, g_spam_allow_disable, g_spam_allow_rbl, g_spam_allow_msg, g_spam_block_msg, g_spam_allow_known, g_spam_allow_recent, g_spam_autotrain, g_spam_block, g_spam_block_gateway, g_spam_check_auth, g_spam_content_disable, g_spam_body, g_spam_body_url, g_spam_body_more, g_spam_folders, g_spam_folders_show, g_spam_flag, g_spam_from_blacklist, g_spam_grey, g_spam_grey_classc, g_spam_grey_dflt, g_spam_grey_dflt_bad, g_spam_grey_verify, g_spam_grey_size, g_spam_grey_bounce, g_spam_grey_window, g_spam_grey_nofive, g_spam_grey_nseen, g_spam_grey_nohard, g_spam_lang, g_spam_probe, g_spam_probe_unknown, g_spam_probe_more, g_spam_probe_whois, g_spam_subject, g_spam_subject_dom, g_spam_subject_gateway, g_spam_subject_word, g_spam_userconfig, g_spam_user_max, g_spam_from_max, g_spam_user_skip, g_spam_bounce, g_spam_bounce_text, g_spam_bounce_all, g_spam_bounce_trusted, g_spam_cmd, g_spam_cmd_if, g_spam_cmd_skip, g_spam_cmd_reject, g_spam_vanish, g_spam_vanish_all, g_spam_info_hide, g_spam_info, g_spam_internal, g_spam_noupdate, g_spam_notrain, g_spam_isspam_kind, g_spam_isspam_ignore, g_spam_aspam, g_spam_poly, g_spam_poly_disable, g_spam_private, g_spam_alias_any, g_spam_url, g_spam_catcher, g_spam_char, g_spam_notspam, g_spam_hold_keep, g_spam_hold_hide, g_spam_header_trust_ip, g_spam_share, g_spam_status_hour, g_spam_phishing

g_comment - Management notes and comments about the server

This is a dummy setting that lets you store information in the ini file that will survive setting changes from the web admin tool.

Syntax: g_comment date=string name=string comment=string

g_con_perip - Connections per IP

Maximum number of connections allowed per IP address. Primarily this is used to prevent simple denial of service attacks where one user could otherwise use up all the channels your system can support and then do nothing with them. 

Syntax: g_con_perip int

g_con_perip_except - Connections per IP exception

IP list of exception addresses to g_con_perip. 

Syntax: g_con_perip_except string

g_con_persubnet - Maximum concurrent connections per subnet

Maximum number of concurrent connections per subnet. This limits concurrent connections from a sub net, great for automatically stopping professional spammers who use multiple addresses. A typical setting might be 20. Subnet is /24.

Syntax: g_con_persubnet int

g_convert_percent - Convert % signs top @ in recipient addresses

Some Spam tests send mail user%spamdomain.com@localdomain.com to see if a server is an open relay. If a default address is set up for the local domain this will be delivered to this local address and the test assumes the mail server is an open relay. This setting prevents this. 

Syntax: g_convert_percent bool

g_country_ip - Tag messages with country of origin

Downloads a ip to country database and then adds a header based on that to each message to show where it came from. This file IpToCountry.csv should appear in your surgemail home directory after enabling this setting (restart surgemail too), if the file doesn't appear you can download it via http://netwinsite.com/surgemail/IpToCountry.csv

Syntax: g_country_ip bool

See also: spam_strip, spam_block, spam_noblock, g_aspam_headers, g_aspam_need_ip, g_black_isspam, g_friends_spam_score, g_imap_spam_train, g_report_spam, g_report_notspam, g_spam_allow, g_spam_allow_disable, g_spam_allow_rbl, g_spam_allow_msg, g_spam_block_msg, g_spam_allow_known, g_spam_allow_recent, g_spam_autotrain, g_spam_block, g_spam_block_gateway, g_spam_check_auth, g_spam_content_disable, g_spam_body, g_spam_body_url, g_spam_body_more, g_spam_folders, g_spam_folders_show, g_spam_flag, g_spam_from_blacklist, g_spam_grey, g_spam_grey_classc, g_spam_grey_dflt, g_spam_grey_dflt_bad, g_spam_grey_verify, g_spam_grey_size, g_spam_grey_bounce, g_spam_grey_window, g_spam_grey_nofive, g_spam_grey_nseen, g_spam_grey_nohard, g_spam_lang, g_spam_probe, g_spam_probe_unknown, g_spam_probe_more, g_spam_probe_whois, g_spam_subject, g_spam_subject_dom, g_spam_subject_gateway, g_spam_subject_word, g_spam_userconfig, g_spam_user_max, g_spam_from_max, g_spam_user_skip, g_spam_bounce, g_spam_bounce_text, g_spam_bounce_all, g_spam_bounce_trusted, g_spam_cmd, g_spam_cmd_if, g_spam_cmd_skip, g_spam_cmd_reject, g_spam_vanish, g_spam_vanish_all, g_spam_info_hide, g_spam_info, g_spam_internal, g_spam_noupdate, g_spam_notrain, g_spam_isspam_kind, g_spam_isspam_ignore, g_spam_aspam, g_spam_poly, g_spam_poly_disable, g_spam_private, g_spam_alias_any, g_spam_url, g_spam_catcher, g_spam_char, g_spam_notspam, g_spam_hold_keep, g_spam_hold_hide, g_spam_header_trust_ip, g_spam_share, g_spam_status_hour, g_spam_phishing, g_spamdetect_always

g_create_allow - List of characters allowed in usernames/passwords

Defaults to A-Za-z0-9\-_. meaning usernames/password may contain letters, numbers, -, _ and . and nothing else.

Syntax: g_create_allow string

g_create_allow_pass - List of characters allowed in passwords

Settting overriding g_create_allow just for passwords.

Syntax: g_create_allow_pass string

g_create_apply - List of user groups to apply create_* settings for.

This setting allows you to apply create_* settings to domain admin accounts. Specify g_access_group names and domain admins in these groups will have create_* settings applied to them when adding users in the domain admin interface.

Syntax: g_create_apply string

g_create_badnames - List of illegal usernames

Comma separated list of illegal usernames, may contain wild cards, if username contains part of a non-wild card or matches a wildcard it is disallowed.

Syntax: g_create_badnames string

g_create_cleanup - Cleanup existing data before adding a user

This causes a delete to be actioned for a user before/as they are created. This ensures the new user does not end up with any files, on any mailing lists, with any aliases etc from a previous user of the same name/address. If you delete users from the authent database directly i.e. not using the surgemail web admin or calling 'tellmail delete_user' then this setting will cleanup the users files when their address is re-used.

Syntax: g_create_cleanup bool

g_create_dictionary - File containing dictionary words to compare passwords to

Text file containing one word per line, passwords are compared to all words longer than 4 characters in this file, if a username or password contains a word in this file it is not allowed. Only takes effect if g_create_strict is checked.

Syntax: g_create_dictionary string

g_create_pass_length - Limit the length of user passwords

This is applied during user self creation and when users change passwords. Set admin to true to restrict the domain and global admin also.

Syntax: g_create_pass_length min=int max=int admin=bool

g_create_record_ip - Causes surgemail to store ipnum in the authent database

This setting has no further documentation currently available

Syntax: g_create_record_ip bool

g_create_strict - Whether to apply strict rules to usernames/passwords

Checking this causes surgemail to check passwords do not contain words longer than 4 characters from g_create_dictionary as well as requiring the password to be 6+ characters, and usernames/passwords to contain more than 1 character.

Syntax: g_create_strict bool

g_create_strict_admin - Enforce strict rules for admins too, set g_create_strict AS WELL!!

This setting has no further documentation currently available

Syntax: g_create_strict_admin bool

g_create_user_length - Limit the length of usernames

This is applied during user self creation. Set admin to true to restrict the domain and global admin also.

Syntax: g_create_user_length min=int max=int admin=bool

g_dbabble_links - Add web links to DBabble from other web interfaces (and vice versa)

This causes links to appear in the DBabble interface to switch to using WebMail (and SurgePlus if you have the g_surgeplus_links setting on).

Syntax: g_dbabble_links bool

See also: g_dbabble_smtp_port, g_dbabble_smtp_prefix

g_dbabble_smtp_port - DBabble SMTP port (do not manually change this setting - it should be set from the DBabble section of the web admin interface only)

This setting specifies the port that DBabble listens on. DBabble looks at surgemail.ini and if it sees this setting, overrides it's own setting with this value. When you save changes to this setting from within the SurgeMail DBabble admin interface, SurgeMail automatically sets appropriate values for the g_redirect_iflocal and g_gateway settings.

Syntax: g_dbabble_smtp_port int

See also: g_dbabble_smtp_prefix, g_dbabble_links

g_dbabble_smtp_prefix - DBabble SMTP prefix (do not manually change this setting - it should be set from the DBabble section of the web admin interface only)

This setting is used in conjunction with the dbabble_smtp_port setting to forward all mail with the specified prefix on to DBabble.

Syntax: g_dbabble_smtp_prefix string

See also: g_dbabble_smtp_port, g_dbabble_links

g_debug_crt - Some CRT debugging on windows, do not use

This setting has no further documentation currently available

Syntax: g_debug_crt bool

g_debug_free - Check free memory isn't corrupted - slows performance slightly

This is for tracking a particular bug, not for general use

Syntax: g_debug_free bool

g_debug_ini - Debugging, don't use this

This is a temp setting used for testing

Syntax: g_debug_ini bool

g_debug_vanished - Name of file to check for, if file vanishes, crash

This is for tracking a particular bug, not for general use

Syntax: g_debug_vanished string

g_delete_exclude - Field and value that excludes an account from g_delete_user_after

If the authent response includes this field/value pair then the user account will not expire

Syntax: g_delete_exclude field=string value=string

Example: field="noexpire" value="true"

See also: g_acctlog_authonly, g_authent_always, g_authent_any, g_authent_allow_badascii, g_authent_prefix_sep, g_authent_process, g_authent_cachelife, g_authent_cachebad, g_authent_cachesize, g_authent_domain, g_authent_encrypt_key, g_authent_number, g_authent_info, g_authent_info_grp, g_authent_ip, g_authent_path_broken, g_authent_single, g_authent_spaces, g_authent_strip_domain, g_authent_restart, g_authent_logall, g_authent_fwdfile, g_authent_timeout, g_authent_last_login, g_auth_hide, g_auth_norelay, g_auth_skipgateway

g_delete_user_after - Number of days an account can remain unread before it is deleted

DO NOT USE THIS SETTING IN A MIRROR/CLUSTER SETUP

Number of days an account can remain unread before it is deleted. This setting cannot be used on an authent_domain FALSE domain unless it has a prefix setting.

Syntax: g_delete_user_after int

g_delete_user_mode - What to do when an account is unread

DO NOT USE THIS SETTING IN A MIRROR/CLUSTER SETUP

You can set this to "file" or "suspend". "file" causes accounts to be written to the users_delete.rec file, which you can action by running "tellmail delete_user FILE" or "tellmail delete_user FILE users_delete.rec" (optionally specify the file). "suspend" causes accounts to be suspend, it does this by setting the field and value specified in the g_delete_user_suspend setting.

If this setting is blank the default is to use 'file' mode, accounts are NEVER deleted automatically except in the very oldest versions of surgemail (before version 3)

Syntax: g_delete_user_mode string

g_delete_user_suspend - If suspending an unread account set this field/value

DO NOT USE THIS SETTING IN A MIRROR/CLUSTER SETUP

Set the field and value to use when suspending an account due to g_delete_user_after and the g_delete_user_mode "suspend" settings.

Syntax: g_delete_user_suspend field=string value=string

g_deny - Deny users from some IP ranges

Block known spammers etc by IP address. You can use wild cards and 'not' signs, e.g. "!*,127.*,10.*" 

Syntax: g_deny string

g_deny_msg - Deny message

Message to give to users who are disconnected due to the above 'deny' setting. 

Syntax: g_deny_msg string

g_deny_smtp - Deny SMTP based on IP address

Block users from some IP ranges connecting to SMTP only. 

Syntax: g_deny_smtp string

g_disable_exclude - Field and value that excludes an account from g_disable_smtp_after

If the authent response includes this field/value pair then the user account will not be disabled from receiving messages

Syntax: g_disable_exclude field=string value=string

Example: field="noexpire" value="true"

See also: g_disable_smtp_after

g_disable_skip - Ip address of senders to accept email from even if user account is disabled due to g_disable_smtp_after

Useful to ensure delivery for important company notices

Syntax: g_disable_skip string

g_disable_smtp_after - Number of days an account can remain unread before delivery is disabled

DO NOT USE THIS SETTING IN A MIRROR/CLUSTER SETUP

Number of days an account can remain unread before delivery is disabled. 

Syntax: g_disable_smtp_after int

g_disable_surgeplus - Disable SurgePlus Calendar and File Sharing client

Disable users from logging in using the SurgePlus Calendar and File Sharing client. See SurgePlus

Syntax: g_disable_surgeplus bool

See also: old_xfile, xfile_url, disable_surgeplus, surgeplus_pop_server_name, surgeplus_smtp_server_name, g_xfile_allow, g_surgeplus_links, g_disable_surgeplus_updates, g_surgeplus_log_level, g_surgeplus_port, g_surgeplus_secure_port, g_surgeplus_web_port, g_surgeplus_web_url, g_surgeplus_hide_client_downloads, g_surgeplus_pop_server_name, g_surgeplus_smtp_server_name, g_surgeplus_delay_tell_upgrade, g_surgeplus_delay_tell_upgrade_exempt, g_surgeplus_online

g_disable_surgeplus_updates - Disable automated downloading of new versions of SurgePlus client from netwinsite.com

New versions of the SurgePlus client are automatically downloaded from netwinsite.com and made available for download form your server by your users. See SurgePlus

Syntax: g_disable_surgeplus_updates bool

See also: disable_surgeplus, g_disable_surgeplus, g_surgeplus_delay_tell_upgrade, g_surgeplus_delay_tell_upgrade_exempt

g_diskio_abort - Shutdown if diskIO failure on queue files

Intended to make server die rather than to pretend to keep running when a major disk fault has occurred

Syntax: g_diskio_abort bool

g_dlist_nolocal - Remove add local button from mailing lists

Prevents address havesting etc by users - strongly recommended on public servers, not necessary on small or private servers

Syntax: g_dlist_nolocal bool

g_dlist_nostart - Disable dlist

If set disable (do not attempt to start) dlist for DMail compatibility mode.. 

Syntax: g_dlist_nostart bool

g_dlist_path - Path for dlist

DList Path normally defaults to $g_home/dlist.

Syntax: g_dlist_path string

g_dns_cache_size - Set size of forward dns cache, default 7000

Best not to change this normally

Syntax: g_dns_cache_size int

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_host - DNS host(s) for MX lookups

This setting can normally be left blank as the mail server will find your system DNS settings. However, you can specify one or more DNS servers for the mail server to use instead to lookup names. 

DNS lookups are cached to disk so SurgeMail will generally continue to work even if your dns server is temporarily unavailable.

Test your dns server with this command. If working it should return two ip addresses for that domain.

 	tellmail dns_test "netwinsite.com"

Prior to SurgeMail 2.0h dns lookups were done using tcp instead of udp, they are now down with UDP unless the response exceeds UDP packet size (as per RFC).

NOTE: All dns servers listed in this setting must be fully recursive, a non recursive dns server will create many dns lookup failures!

Syntax: g_dns_host string

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_match_msg - Message for stamp or bounce if forward and reverse lookup don't match

The message given to the user when the forwar/reverse dns lookup doesn't match

Syntax: g_dns_match_msg string

Example: "Sorry your ip address doesn't translate into a name that translates into your ip address"

See also: g_dns_paranoid, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_nlookup - Concurrent MX lookups

Concurrent DNS lookups to send to DNS server (Default=20) (not used after version 2.0h)

Syntax: g_dns_nlookup int

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_nocache - Disables DNS cache for spf lookups (20 minute life)

This setting disables the small cache used for SPF lookups to improve performance.

Syntax: g_dns_nocache bool

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_noptr - Set to reject or retry, for ip addresses with no reverse dns entry (rdns)

If the ip number of a connecting user has no associated name in the reverse dns database then the connection is rejected or told to retry later.

Syntax: g_dns_noptr string

Example: "retry"

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_noptr_msg - Message for stamp or bounce if DNS lookup fails on ip address

See short description.

Syntax: g_dns_noptr_msg string

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_noptr_skip - Skip RDNS for these ip addresses

This is an over-ride for local addresses which you trust.

Syntax: g_dns_noptr_skip string

Example: "retry"

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_paranoid - Compare sender forward and reverse dns lookup and see if they match

Does a forward DNS lookup on the sender's domain and matches this with a reverse lookup of the senders IP address. If these do not match the message is either bounced or stamped with the header "X-DNS-Paranoid: <explanation>". Valid values for this field are "STAMP","RETRY" and "REJECT".

STAMP = Add the X-DNS-Paranoid header if it fails

RETRY = Bounce the message with a 450 error. (so if the failure was temporary the sending server will retry)

REJECT = Bounce the message with a 550 error

Set g_dns_lookup_msg or g_dns_match_msg to define the reject/stamp strings respectively.

g_dns_require - Require reverse DNS names match

Require MAIL FROM header to match the reverse dns lookup based of the sender based on the sender's IP.

eg. from=*@hotmail.com hosts=*hotmail.com

Syntax: g_dns_paranoid string

See also: g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_require - Require MAIL FROM header matches senders ip reverse dns

This setting predates SPF which does the same sort of thing on a grander scale, no longer needed.

Syntax: g_dns_require from=string hosts=string

Example: from=*@hotmail.com hosts=*hotmail.com

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_system - Use system code to do reverse lookups

If all channels hang in a state 'lookup' then turn this off so it will use the surgemail code for reverse dns lookups. This setting used to be g_dns_lookup and had the opposite meaning, we reversed it because the system dns code was faulty so often

Syntax: g_dns_system bool

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_dns_translate - If mx response is x.x.x.x translate to y.y.y.y:port

Useful for translating ip numbers inside a local intranet and doing other fancy routing of various sorts.

Syntax: g_dns_translate from=string to=string

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_old, g_dns_new, g_spf_dns_timeout

g_domadmin_utoken_expire - Length of time a domain admin login token is valid for in seconds

Default unit is seconds. You can specify units e.g. 3 minutes, 10 hours etc...

Syntax: g_domadmin_utoken_expire int

g_domadmin_utoken_idle - Length of time a domain admin login token may remain idle for

This setting has no further documentation currently available

Syntax: g_domadmin_utoken_idle int

g_domain_default - Default domain when POP/IMAP user does not specify one

This is probably not what you think it is, generally the 'first' domain in surgemail.ini is used in this situation, but in some instances, when using domuser.dat for example to translate users back to virtual domains, you will want the default domain to be a 'generic' made up domain that doesn't really exist.

For example lets say you have users fred@a.com, bob@b.com, then in domusers.dat you have

fred@a.com fred@a.com
bob@b.com bob@b.com
bob@xxx bob@b.com
fred@xxx fred@a.com

And the result is that users who login to pop as bob or fred, will be correctly mapped to the correct virtual domain user even though the actual domain is different in those two cases.

Clear as mud I expect?

Syntax: g_domain_default string

g_domain_list_max - Maximum number of domains to list at once

Maximum number of domains to list at once in the admin user interface. 

Syntax: g_domain_list_max int

g_domain_separator - Separator characters for virtual POP

For POP logins where your virtual domain is NOT distinguished by IP address users can login with 'user@domain' or user/domain.name etc and the mail server will pickup the domain name correctly. By default only 'user@domain.name' is accepted unless this setting is used which can be useful for brain dead mail clients which don't allow the user to specify 'user@domain.name' as the username eg:

g_domain_separator "/"

Syntax: g_domain_separator string

g_domainkeys_check - Check incoming DomainKeys signatures (beta may be unstable)

See domainkeys.htm

Syntax: g_domainkeys_check bool

g_domainkeys_headers - List which headers to sign

This will help get the message through gateways without breaking the signature, try a single header, e.g. from

Syntax: g_domainkeys_headers string

g_domainkeys_only - Domains to sign for outgoing email

Normally all local domains are signed, but if this setting exists then it is used instead so you must list local domains as well as non local ones you want to sign messages for. G_domainkeys_sign must also be set to true!

Syntax: g_domainkeys_only string

g_domainkeys_selector - Policy name for your server (used creating dns entry for domainkeys)

This defines the dns entry name for your policy record and public key entry in your dns. See domainkeys.htm for details

Syntax: g_domainkeys_selector string

g_domainkeys_sign - Sign outgoing messages (create a key first using web admin)

To turn off domainkeys for some domains see the per domain setting, domainkeys_disable. See domainkeys.htm for more info.

Syntax: g_domainkeys_sign bool

g_domuser_file - Domain users to thousands of virtual domains easily

Specifies a file which contains lines that translate an email address to the username that should be looked up in the database. This file can contain a domain name not previously specified in surgemail.ini allowing you to create unique sub-domain addresses. eg:

g_domuser_file "c:\surgemail\domuser.dat"

Example entries...

*@domain.com postmaster@domain.com
userA@domain.com userB@domain.com
firstname@lastname.domain.com firstname@lastname.domain.com

Syntax: g_domuser_file string

g_dotlock_minutes - NFS lock waits

Minutes to wait for nfs lock file, default 20 minutes.

Syntax: g_dotlock_minutes int

g_dotstuff_fix - Convert the way mail is stored on disk from dotstuffed to non dot stuffed (beta)

In the dotstuffed format any attachments that have content (in encoded format) starting with a . get corrupted, as all single '.' characters at the start of a line are converted to '..'. This is only very seldomly an issue as encoded text doesn't usually have . characters. This feature can only be enabled and still need furhter production level testing to make sure there are no side effects... so if you play with it consider yourself adequately warned :-)

Syntax: g_dotstuff_fix bool

g_download - Fetch an http file and do an ini reload

Can be used with g_include to have settings fetched from a central location, the file is fetched once an hour.

Syntax: g_download url=string user=string pass=string local=string

g_drop_use_len - Use the content-len header for drop file processing

For use on Solaris when using sendmail for incoming mail delivery.

Syntax: g_drop_use_len bool

g_dsn_enable - Enable DSN (Delivery Status Notification) esmtp extension.

Not recommended. Delivery Status Notification is used by spammers to find addresses to spam to.

Syntax: g_dsn_enable bool

See also: g_dsn_nofinal

g_dsn_nofinal - Try not to show real final recepients but just original recipients

This setting helps hide internal addresses in bounce messages (after forwarding etc). Not recommended.

Syntax: g_dsn_nofinal bool

See also: g_dsn_enable

g_ehlo_simple - Ip addresses to give simple ehlo respone to

This is a debugging setting, do not use.

Syntax: g_ehlo_simple string

g_encrypt_expire - Days to keep encrypted messages, default 60

When a message is sent via encryption it is deleted after this many days

Syntax: g_encrypt_expire int

g_encrypt_inline - Use INLINE method by default

Sets the default encryption method when a rule does not apply

Syntax: g_encrypt_inline bool

g_encrypt_max - Max encrypted per day server wide

Server wide limit to prevent abuse (or accidental over use)

Syntax: g_encrypt_max int

g_encrypt_path - Path to encrypted files, this is not supported when mirroring!

DO NOT USE

Syntax: g_encrypt_path string

g_encrypt_pw_host - Central host for encryption password storage

DO NOT USE

Syntax: g_encrypt_pw_host string

g_encrypt_pw_key - Central host password key

DO NOT USE

Syntax: g_encrypt_pw_key string

g_encrypt_reply_plain - Send plain message for local replies

By default a reply to a local user is also encrypted this makes it not encrypt the reply as user should be reading the message via SSL so the data is secure anyway.

Syntax: g_encrypt_reply_plain bool

g_encrypt_ssl_force - Require ssl on incoming encrypted messages

When a message is going to be encrypted this setting ensures it is sent from the user to the server via SSL

Syntax: g_encrypt_ssl_force bool

g_encrypt_ssl_noforce - Exceptions, e.g. surgeweb or localhost

When a message is going to be encrypted this setting ensures it is sent from the user to the server via SSL

Syntax: g_encrypt_ssl_noforce string

g_encrypt_surgeweb_show - Show SurgeVault in SurgeWeb

Enables the display of surgevault encryption in the surgeweb interface (can be modified using encrypt_hide on surgeweb customisation page)

Syntax: g_encrypt_surgeweb_show bool

g_enotify_from - From address to use in email notification messages

This setting has no further documentation currently available

Syntax: g_enotify_from string

g_eof_fix_off - Turns off auto stripping of control+Z

These characters can break some mail clients and should not appear in normal emails

Syntax: g_eof_fix_off bool

g_error_xlate - Change error messages

If wild card string matches smtp response code, then replace with 'to' response code, use %1 to replace the first wild card match etc...

Syntax: g_error_xlate was=string to=string

g_expire_every - Only expire spool once every 'n' days

Reduce load spent expiring old messages.

Syntax: g_expire_every int

See also: expire_age, expire_size, expire_rule, g_encrypt_expire, g_expire_trash, g_expire_silent, g_expire_warning, g_user_utoken_expire, g_admin_utoken_expire, g_domadmin_utoken_expire

g_expire_silent - Don't send users emails telling them what was expired.

Some users get upset when they find messages have expired, this setting makes the expiration silent so the users don't even notice. I think this is a bit nuts myself but some admins prefer it

Syntax: g_expire_silent bool

See also: expire_age, expire_size, expire_rule, g_encrypt_expire, g_expire_trash, g_expire_every, g_expire_warning, g_user_utoken_expire, g_admin_utoken_expire, g_domadmin_utoken_expire

g_expire_trash - Expire any messages found in trash folders

Expires any messages more than 7 days old found in the 'trash' folder.

Syntax: g_expire_trash bool

See also: expire_age, expire_size, expire_rule, g_encrypt_expire, g_expire_silent, g_expire_every, g_expire_warning, g_user_utoken_expire, g_admin_utoken_expire, g_domadmin_utoken_expire

g_expire_warning - Give warning 'n' days before deleting each file

This will help warn users before a file is actually deleted.

Syntax: g_expire_warning int

See also: expire_age, expire_size, expire_rule, g_encrypt_expire, g_expire_trash, g_expire_silent, g_expire_every, g_user_utoken_expire, g_admin_utoken_expire, g_domadmin_utoken_expire

g_external_ip_disable - Do not add X-External-IP header

Please note you may wish to remove x_originating_ip true from webmail.ini as well

Syntax: g_external_ip_disable bool

g_fallback - Fallback address

Default address for all local domains. If a local delivery is not to any valid user Emails will be delivered to this address. There is also a per domain default. 

We want to stress that this is a dangerous setting, you use at your own peril.
Spammers will turn up to your server and test sending to accounts, they will just run through a dictionary of names, with a fallback setting you will be telling the spammer that all these accounts exist. The spammer will then deliver spam to these addresses in volumes that can cripple a server almost.

Syntax: g_fallback string

g_fallback_relay_if_exists - Use FALLBACK_RELAY if not logged in but user exists (OLD_POPHOST_CREATEUSER_DISABLE)

This can be used to relay users where you have a user database that can be checked on the front end system directly (odbcauth, tcpauth, etc)

Syntax: g_fallback_relay_if_exists bool

See also: surgewall, surgewall_auth, surgewall_local_too, surgewall_options, surgewall_capa_local, g_surgewall_split

g_filter_max - Max size of messages to send through the filter pipe

Messages over this size (in bytes) are skipped. default = no limit

Syntax: g_filter_max int

g_filter_n - Number of filters to run simultaneously

Default is 20, when this limit is reached the incoming thread waits a few seconds then skips the filter if necessary, this is intended to prevent a log jam/melt down effect.

Syntax: g_filter_n int

g_filter_pipe - Filter pipe allowing external message processing

This allows external applications to filter and modify incoming messages. Example: Integration with Spam Assassin (on UNIX) could be achieved as follows:

g_filter_pipe "/usr/local/bin/spamassassin -P"

it expects a normal unix 'filter' so, read the message on 'stdin' and write the identical (or modified) message to 'stdout'.

The input will be 'crlf' terminated and so should the output file.

That's all you can do with this mechanism, if you want to bounce the message or flag it as spam you 'add' a header and then use something in surgemail to detect and act on the header you've added (mfilter)

Syntax: g_filter_pipe string

g_filter_pipe_noauth - Skip for auth users

Skip for authenticated users

Syntax: g_filter_pipe_noauth bool

g_filter_pipe_skip - Skip filter if ip matches this

Set this for local servers that don't need filtering, e.g. mailing list servers, local trusted robots.

Syntax: g_filter_pipe_skip string

g_filter_timeout - Filter pipe timeout

Filter timeout (g_filter_pipe) in seconds, default is 360.

Syntax: g_filter_timeout int

g_fix_crcrlf - Fix email messages containing crcrlf for line termination

This is best not used, it's best to fix the faulty email application, results are not gauranteed.

Syntax: g_fix_crcrlf bool

g_fix_imap_lf - During IMAP import fix email messages containing lf

This is best not used, it's best to fix the faulty email server, results are not gauranteed.

Syntax: g_fix_imap_lf bool

g_footer_file - Footer file

Footer file which is appended to all plain text mail messages.

Syntax: g_footer_file string

g_footer_html - Footer file (HTML mail)

Footer file which is appended to all HTML mail messages.

Syntax: g_footer_html string

g_footer_notfound - Only add footer if footer is not in message already

This works by examining the message contents to try and find part of the footer.

Syntax: g_footer_notfound bool

g_footer_send - Footer file (outbound only)

Plain text footer file which is appended to all outbound mail messages only.

Syntax: g_footer_send string

g_footer_sendonly - Enable outbound footer

Add g_footer_send to all messages when sending to non local users.

Syntax: g_footer_sendonly bool

g_footer_skip - Skip footers for these users

This skips the footer for matching users (e.g. cell phones etc)

Syntax: g_footer_skip string

g_footer_trusted - Only add footers if sender is trusted

This prevents the footer from being added for a message that pretends to come from your domain.

Syntax: g_footer_trusted bool

g_forward_attach - When late forwarding send as attachment to these domains

Useful with hotmail.com, aol.com etc so that forwarded messages are not mistaken for spam

Syntax: g_forward_attach string

g_forward_illegal - Prevents users setting forward rules to certain addresses

Syntax: g_forward_illegal to="address" apply="user type "

This setting allows you to specify some addresses as being illegal for certain users. This stops users setting up forwarding rules to these addresses. They can still send mail to these addresses manually with their email client. These rules _ONLY_ apply to non local domains.

Some examples:

If you want to stop your users setting up forward rules that redirect to aol.com.
g_forward_illegal to="*@aol.com" apply="user"

If you want to stop your users setting a forward to all domains except aol.com
g_forward_illegal to="*,!*@aol.com" apply="user"

Stop domain admins sending to aol.com
g_forward_illegal to="*@aol.com" apply="domadmin"

Stop admins sending to netwinsite.com
g_forward_illegal to="*@netwinsite.com" apply="admin"

Syntax: g_forward_illegal to=string apply=string

g_forward_oops - Internal testing setting, not for general use sorry

Testing setting, please do not use.

Syntax: g_forward_oops string

g_friends_add_trusted - Add to friends list when if sender is trusted

This is useful if senders are not using smtp auth but you still want friends to be added, typically used with surgewall...

Syntax: g_friends_add_trusted bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_allow_spf - Allow all email through as if it was a friend during temporary allow

The user click on a button to disable friends for a few hours, during this time all messages will get treated as a friend and thus bypass SPF too.

Syntax: g_friends_allow_spf bool

g_friends_always - Always use friends list.

This enables the "Add all outgoing email addresses to list" feature and always checks incoming messages against the friends list so that SurgeMail can correctly tag or filter it.

Syntax: g_friends_always bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_at_rcpt - Whether to check users friends list at rcpt stage

This setting is automatically added/removed by the web admin when global friends defaults are configured. It allows us to check friends at rcpt stage without paying a disk access cost for non-friends users.

Syntax: g_friends_at_rcpt bool

g_friends_bounce_rej - Reject blank return path as friends failures

This setting has no further documentation currently available

Syntax: g_friends_bounce_rej bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_bounce_second - Bounce the next time the user sends a message if waiting for confirm still

This can make it clearer that email is not getting through to the destination

Syntax: g_friends_bounce_second bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_byweb - Perform confirmation of pending via the web.

This gives a confirmation url to the sender in the friends confirmation message and disables confirmation by replying. The url gives a page with a verification image, the sender types the number seen and releases their message.

Syntax: g_friends_byweb bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_check_spf - Disable friends bounces if SPF headers missing/failed to avoid backscatter.

If the incoming message may be forged it will bounce messages using an smtp error code to deny delivery but it will allow any real sender to bypass this. This settings is good if spamcop block your domain for sending friends challenges as it cuts down on the number of such messages. This avoids backscatter

Syntax: g_friends_check_spf bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_confirm_debug - Log sucessful friends confirmation responses

This enables us to examine suspect replies to friends confirmations for indications that they were sent by spammers or mail robots.

Syntax: g_friends_confirm_debug bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_confirm_subject - String to use as the subject of a friends confirmation email

String to use as the subject of a friends confirmation email. Defaults to: "Please reply to ||confirm|| message and allow delivery". This value must contain the text ||confirm||, this text is replaced by the unique message id that allows SurgeMail to find the message to release eg. confirm(1150419513.1880_1180.domain). It is also advisable to place the ||confirm|| near the start of the string as some clients will truncate long subjects and any truncation of the ||confirm|| value will result in failure to release the message.

Syntax: g_friends_confirm_subject string

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_default_autoadd - Default auto addition when sending (recommended)

This setting has no further documentation currently available

Syntax: g_friends_default_autoadd bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_default_mode - Default friends mode (Recommended 'list')

This setting has no further documentation currently available

Syntax: g_friends_default_mode string

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_ignore - List of addresses considered friends for all users on the system

List of addresses considered friends for all users on the system eg: the system manager email address

Syntax: g_friends_ignore string

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_ignore_trusted - If from trusted ip still apply friends

Useful when you have a gateway that is sending to surgemail

Syntax: g_friends_ignore_trusted bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_latest_headers - Friends system re-read message headers

Causes friends to re-read message headers, allowing rules based on headers added during delivery

Syntax: g_friends_latest_headers bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_name - What to call the friends system

This specifies what to call the friends system when referring to it on web pages and in email to our users, you can call it whatever you like

Syntax: g_friends_name string

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_old_status_email - Use older status email & processing

Use status.eml instead of status_html.eml

Syntax: g_friends_old_status_email bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_only - Friends system

An anti-spam feature which screens incoming mail to ensure it comes from a human. For incoming mail from unknown addresses a message is sent to this person requesting them to reply to confirm they are human and the original message will be delivered. See this page for more details.

Syntax: g_friends_only bool

See also: friends_at_rcpt, friends_pending_name, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_pending_keep - Time to keep friend pending messages

How long to store users friends pending messages before deleting them (days)

Syntax: g_friends_pending_keep int

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_pending_name - The imap name of the friends_pending (and spam store) quarantine folder - should match surgeweb imap_spam_folder - default is 'Friends Pending'

This shouldn't be changed unless this feature has not been used before as it will confuse your users. Any matching folder the user has of the same name will become invisible. So at least make it something other than simply Spam!!

Syntax: g_friends_pending_name string

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_pending_vanish - Enable auto-vanish of pending messages on confirmation bounce

When a bounce for a confirmation message is received we vanish it, this setting will also delete the original message.

Syntax: g_friends_pending_vanish bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_release_wash - Clean any subject marking (ie stars) when releasing/allowing

This setting has no further documentation currently available

Syntax: g_friends_release_wash bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_rotate - Rotate user level log file, default 30k

Set log size, the log is also rotated when a friends report email is sent (if configured)

Syntax: g_friends_rotate int

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_short - In friends web release addresses use a shortened url

This can help prevent urls being wraped by dumb email clients, this feature requires an updated template file na_rel_link.htm with the 'f' hidden input field,e.g. input type="hidden" name="f" value="||f||"

Syntax: g_friends_short bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_silent - Disable friends responses to users

This setting is to simply disable the confirm emails, not generally recommended as this makes friends a bit pointless.

Syntax: g_friends_silent bool

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_ignore, g_friends_skip_ip, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_skip_ip - List of ip addresses considered friends for all users on the system

This setting has no further documentation currently available

Syntax: g_friends_skip_ip string

See also: friends_at_rcpt, friends_pending_name, g_friends_only, g_friends_bounce_rej, g_friends_name, g_friends_pending_name, g_friends_silent, g_friends_ignore, g_friends_confirm_subject, g_friends_default_mode, g_friends_default_autoadd, g_friends_latest_headers, g_friends_pending_keep, g_friends_pending_vanish, g_friends_at_rcpt, g_friends_allow_spf, g_friends_spf_fail_bounce, g_friends_check_spf, g_friends_byweb, g_friends_always, g_friends_add_trusted, g_friends_confirm_debug, g_friends_rotate, g_friends_short, g_friends_ignore_trusted, g_friends_url, g_friends_bounce_second, g_friends_old_status_email, g_friends_spam_score, g_friends_release_wash, g_imap_friends, g_quota_friends, g_user_friends_domain_log_disable, g_user_friends_log_disable

g_friends_spam_score - Default spam score for friends spam scoring (surgeweb defaults likely=4 or almost_certain=10)

This setting has no further documentation currently available

Syntax: g_friends_spam_score int

g_friends_spf_fail_bounce - Bounce SPF failures, do not send friends confirmations (Not recommended)

The default behaviour is to only send confirmations if SPF checks pass, if they fail friends checking is skipped, no confirmation request is sent and the email is not blocked by friends.

Syntax: g_friends_spf_fail_bounce bool

g_friends_url - Specify full url for friends release http://domain.name:port

Normally the default will work.

Syntax: g_friends_url string

g_from_allow - From header allow

From headers to allow bypassing the g_from* checks. e.g. "*@x.y.com,*@b.com,fred@bb.com"

Syntax: g_from_allow string

g_from_allow_ip - IP addresses to bypass local from check

This setting has no further documentation currently available

Syntax: g_from_allow_ip string

g_from_allow_to - destination user to bypass local from check

This setting has no further documentation currently available

Syntax: g_from_allow_to string

g_from_bl - Domain Based Blacklist Zones, lookups FROM domain in dns

The 'from' domain is checked against the specified RBL which must be a special 'FROM' based rbl which lists spammers by from address. Most spammers fake from addresses so this is a fairly marginally useful method.

Syntax: g_from_bl name=string stamp=string

See also: g_honeypot_rbl, g_myrbl_testing, g_myrbl_to, g_myrbl_store, g_spam_allow_rbl, g_surbl, g_surbl_reject, g_surbl_whois, g_surbl_skip, g_surbl_skip_ip

g_from_bounce - Bounce if from is probably faked

Bounce if from address is probably faked.

This check is activated for any mail with a local domain in the from address but not using SMTP authentcation, relay allow IP address or spam allow IP address.

Syntax: g_from_bounce bool

g_from_check - Check from matches valid local domain

Check from domains match valid local domains if user is authenticated, or g_from_allow.

Should be used with g_from_bounce "true" which basically forces them to authenticate and then makes this setting work properly.

Syntax: g_from_check bool

g_from_domain - Default domain for from envelope

Fixes the 'from' envelope if the email client failed to specify a domain name, this doesn't fix the from header currently but we may change that in future!

Syntax: g_from_domain string

g_from_exact - Check from matches authenticated user

Check from matches authenticated user. If user is not authenticated the setting is skipped.

Should be used with g_from_bounce "true" which basically forces them to authenticate and then makes this setting work properly.

Syntax: g_from_exact bool

g_from_header - From header used in delivery bounces

From header used in delivery bounces.

Syntax: g_from_header string

g_from_must_exist - Require local from addresses to exist or reject mail

Can be useful in blocking dumb spam robots

Syntax: g_from_must_exist bool

g_from_noforge - If envelope or from is local domain then the other must be too

This can prevent many common forms of forgery, this will bounce some real email, so probably better to use the noforgeme setting instead. One of the settings to prevent forgery

Syntax: g_from_noforge bool

g_from_noforge_some - If from matches this then from/envelope must match

Prevent forgeries of important local addresses, e.g. *support*

Syntax: g_from_noforge_some string

g_from_noforgeme - If to==from then from and env from must match

This can prevent many common forms of forgery, this is safer than the noforge setting above, and generally almost as effective. One of the settings to prevent forgery

Syntax: g_from_noforgeme bool

g_from_relay - If not authenticated and g_relay_allow_ip matched then block if not local domain or whitelisted

This one helps prevent a local virus sending out spam. It basically says non authenticated users who can relay due to a g_relay_allow_ip rule must send from one of your domains or use smtp authentication or be in a white list. Note this test is performed on the message envelope not the body. We recommend insisting on smtp authentication to reduce your risk of this type of problem.

Syntax: g_from_relay bool

g_from_relay_white - White list of domains for g_from_relay setting

This is domains that can be used as a 'from' address for non authenticated users, in addition to local domains

Syntax: g_from_relay_white string

g_from_rewrite - Rewrite from envelope for outgoing email, e.g. *@this.domain -> %1@another.domain

This lets you change the 'from' address from an internal domain name to a valid public domain name. The change is performed on the From envelope (return path), not the from header. And the chanage does not affect the return path written in local deliveries, only outgoing email. Mfilter rules can be used to rewrite the actual message headers.

Syntax: g_from_rewrite was=string to=string

g_from_rewrite_header - Rewrite the from header as well

Replaces the From: header in the mesage with the new address.

Syntax: g_from_rewrite_header bool

g_from_stamp - Stamp if from is probably faked

Stamp message with "X-Verify-Failed:" header if from address is probably faked.

eg: X-Verify-Failed: <user@mydomain.com> From mydomain.com is local but user not authenticated or from g_relay_allow_ip

This check is activated based on the same conditions as g_from_bounce.

Syntax: g_from_stamp bool

g_from_timeout - Timeout on g_badfrom_* checks

Timeout in seconds of g_badfrom_* checks. Default = 60 seconds. If this timeout is reached the g_badfrom check will be classed as having failed.

Syntax: g_from_timeout int

g_from_valid - Require an @ and dotted domain in all return addresses

This forces the sender to either give 'no' reply address or a valid one with an @ and a dotted domain

Syntax: g_from_valid bool

g_gateway - Gateway messages to a particular domain (Or smarthost)

Used to gateway messages to another local mail server.  Typically this other server is inside a fire wall so it's local IP address is not known by the DNS server.  You specify the domain and IP address to send messages to and this server is treated as 'local' rather than remote in terms of open relay restrictions. eg: nonauthenticated users are able to send in mail. Open relay restrictions do not apply to messages sent to this domain because they are considered as if they were local users and not 'relaying'. 

This setting has the fields domain(required), to(required), user(optional), pass(optional), relay=true/false(optional),check=true/false (optional)

Normally "domain" and "to" are the only fields that need to be filled in. eg. To relay mail from anyone to user accounts in the domain somedomain.com to the host 1.2.3.4.
g_gateway domain="somedomain.com" to="1.2.3.4"

user="username" pass="password"

If SMTP authentication is required on the destination server the user and pass fields need to be completed.

check=true

The check=true setting tells surgemail to actually connect to the server and check that recipients exist before accepting an incoming email for that user, this is STRONGLY recommended, as it stops the server having to bounce thousands of messages when spammers send to invalid addresses on your server. If SurgeMail cannot connect it will assume the user does exist so nothing is bounced except when the connection is successful.

Classic smarthost setting

This is where you want to send all outgoing email to another server, that may require authentication, note that we don't use relay="true" as that would make the server an open relay.

g_gateway domain="*" to="isp.mail.server" user="user@isp.server" pass="xxx"

relay="true" (warning, usually not needed or wise, this can make your server into an open relay for spammers to abuse!)

As a safety measure to prevent accidental openrelays, SurgeMail will not relay for non authenticated users or trusted users (users that are allowed to relay due to relaying settings eg g_relay_allow_ip) if the domain is "*". This can be overridden by placing "true" in the "relay" field. eg: To relay all mail for all users to host 1.2.3.4:

g_gateway domain="*" to="1.2.3.4" relay="false"

It is possible to use domain="c:\domains.txt" where domains.txt is a file listing the domains to be gatewayed, this should only be done for one gateway rule, and is only worth doing if you have thousands of domains to gateway.

local="true"

Requires that the destination addresses exist in the local account database.

Gateway after user lookup

When gatewaying to a domain which accepts all email regardless of address (e.g. exchange) you are best to define the users in your local user database, this is the only way to prevent nasty bounces and get rid of all the spam cleanly.

1) remove the gateway setting for the domain
2) add a virtual domain
3) In the virtual domain add surgewall settings, e.g. in this example I'm gatewaying the domain 'netwin.co.nz' to a
backend server called 'backend.netwin.co.nz"

vdomain address="" name="netwin.co.nz"
...
surgewall "backend.netwin.co.nz"
surgewall_options strip_domain="" proxy_failover="" auth_local="TRUE" pop="" smtp="" imap="" usercgi=""

 

You can find more gateway examples in our FAQ here http://www.netwinsite.com/surgemail/help/faq.htm#gateway

Syntax: g_gateway domain=string to=string user=string pass=string relay=string check=bool sms=bool local=bool

g_gateway_allow - Known hosts that act as incoming SMTP or surgewall servers for us

Some spam prevention mechanisms which use the ip address of the incoming system must be disabled for incoming SMTP servers/surgewall/firewall boxes so that stupid limits don't block all the incoming messages from your backup mx server etc. Settings this affects: g_tarpit_max, g_tarpit_max_remote, g_con_perip, RBL checks,

Syntax: g_gateway_allow string

See also: g_smtp_auth_debug, g_smtp_delay_stamp, g_smtp_welcome_delay

g_gateway_always - Always send to gateway even if local domain exists

Always send to gateway even if local domain exists. Not sure why you would want to use this setting other than to temporarily send mail on to another server whilst keeping the local domain and accounts intact and untouced.

Syntax: g_gateway_always bool

g_gateway_auth - Send SMTP auth requests to another host

Send SMTP auth requests to another host.

Syntax: g_gateway_auth string

g_gateway_data - Gateway at the data stage

To allow bounces to be handled cleanly gateway messages before responding to the data comman so bounces can go direct without being generated and creating back scatter.

Syntax: g_gateway_data bool

g_gateway_from - Pass 'from' header thru during gatewawy check

In some cases to verify an email address the correct 'from' must be passed through, normally this is a bad idea as it will cause spf failures, but it is sometimes necessary

Syntax: g_gateway_from bool

See also: disable_smtp_after, old_smtphost, old_smtphost_skip, smtp_auth_off, smtp_welcome, smtp_welcome_name, smtp_from_ip, surgeweb_backend_smtp, surgeplus_smtp_server_name, g_disable_smtp_after, g_dbabble_smtp_port, g_dbabble_smtp_prefix, g_deny_smtp, g_safe_smtp, g_manager_smtp, g_smtp_auth_debug, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout, g_smtp_delay_stamp, g_smtp_welcome_delay, g_smtp_log_protocol, g_smtp_log_size, g_smtp_max, g_smtp_warning, g_smtp_max_reason, g_smtp_max_nolimit, g_smtp_maxbad, g_smtp_port, g_smtp_portauth, g_smtp_portforce, g_smtp_secure_port, g_smtp_vrfy_msg, g_smtp_etrn_auth, g_smtp_help_disable, g_smtp_cram_enable, g_smtp_no_brackets, g_smtp_big, g_smtp_fast_bounce, g_smtp_fix_nohead, g_smtp_thread, g_smtp_auth_off, g_smtp_auth_ip, g_smtp_noauth, g_smtp_noauthm, g_smtp_noauth_msg, g_verify_smtp, g_surgeplus_smtp_server_name

g_gateway_helo - Header that must exist in incoming bounces (g_send_helo) or bounces are dropped

An incoming filter can discard the majority of incoming bounces by using this setting to figure out if a bounce is valid without having to do a user lookup first! Usually this would be the setting g_send_helo from your 'outgoing' mail server, this setting can be a list of host names.

Syntax: g_gateway_helo string

See also: send_helo, g_ban_helo, g_helo_optional, g_send_helo, g_send_helo_from, g_send_helo_in, g_verify_helo

g_gateway_ifnot - Send mail to gateway in preference to local delivery unless IP matches

The use of g_gateway_ifnot will deliver mail to the g_gateway rule in preference to local delivery unless the IP number matches. This would typically be used to pass mail through an external SMTP server for certain or all domains for scanning purposes etc.

Syntax: g_gateway_ifnot string

g_gateway_ignorewild_ip - Ignore * gateway rules if from ip matches (allows outbound email scanning using gateway * to external scanner)

This setting has no further documentation currently available

Syntax: g_gateway_ignorewild_ip string

g_gateway_mx - If specified IP address is found in mx record for destination then allow relay (not recommended)

This can be useful if you have thousands of servers using your machine for mx backup and you want to allow them simply because the mx records exist, it's much better to use g_gateway or g_relay settings instead as this saves lookups and makes the results entirely more predictable :-)

Syntax: g_gateway_mx string

See also: disable_smtp_after, old_smtphost, old_smtphost_skip, smtp_auth_off, smtp_welcome, smtp_welcome_name, smtp_from_ip, surgeweb_backend_smtp, surgeplus_smtp_server_name, g_disable_smtp_after, g_dbabble_smtp_port, g_dbabble_smtp_prefix, g_deny_smtp, g_safe_smtp, g_manager_smtp, g_smtp_auth_debug, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout, g_smtp_delay_stamp, g_smtp_welcome_delay, g_smtp_log_protocol, g_smtp_log_size, g_smtp_max, g_smtp_warning, g_smtp_max_reason, g_smtp_max_nolimit, g_smtp_maxbad, g_smtp_port, g_smtp_portauth, g_smtp_portforce, g_smtp_secure_port, g_smtp_vrfy_msg, g_smtp_etrn_auth, g_smtp_help_disable, g_smtp_cram_enable, g_smtp_no_brackets, g_smtp_big, g_smtp_fast_bounce, g_smtp_fix_nohead, g_smtp_thread, g_smtp_auth_off, g_smtp_auth_ip, g_smtp_noauth, g_smtp_noauthm, g_smtp_noauth_msg, g_verify_smtp, g_surgeplus_smtp_server_name

g_gateway_orcpt - Writes an original receipt header when forwarding a message, this may disclose multiple recipients, cc/bcc etc use only for tracking faults

This writes a header X-Rcpt-Original: ..., when forwarding a message to another server, good for tracking problems. This may disclose multiple hidden recipients, it should not be used normally

Syntax: g_gateway_orcpt bool

g_group_field - Group Field from authentication database

Based upon a match on an arbitrary field in the authentication database a user can be defined as being part of an access_group. All fields (field, value, group) are required. eg: To add the user to the access_group "paid_user" if the field "mystatus" has the value "fullaccess":

g_group_field field="mystatus" value="fullaccess" group="paid_user"

Syntax: g_group_field field=string value=string group=string

g_hack_detect_disable - Stop admin emails when users login with a weak password

Useful if you must have weak passwords for some reason

Syntax: g_hack_detect_disable bool

g_hacker_max - Login guesses for one ip address before we lockout the ip address

Stops hackers from guessing passwords every day until they find one

Syntax: g_hacker_max int

g_hacker_poison - Poison accounts that instantly blacklist ip address

If user tries to login with this account then their ip address is blocked from further logins

Syntax: g_hacker_poison string

g_hacker_whitelist - Ip addresses to avoid guessing issues

Whitelist for gateways or other systems that you expect multiple failed logins from (e.g. webmail host)

Syntax: g_hacker_whitelist string

g_header_out - Header to add to outgoing posts

Mail header to add to outgoing mailing list posts.

Syntax: g_header_out string

g_header_strip - Strip listed headers from incoming messages

Useful for stripping headers that you don't trust or don't want for some reason

Syntax: g_header_strip string

g_helo_optional - Make the SMTP Helo optional

Helo is optional for SMTP protocol (not recommended).

Syntax: g_helo_optional bool

g_home - Root directory of the mail server

This setting controls where the mail server runs including the many sub directories it creates below this directory for work files and log files for each domain. Not something you should generally change. 

Syntax: g_home string

g_honeypot_key - Key for HTTP RBL service www.projecthoneypot.org - not recommended

Do not share your key you can get a key for free from this web site. By defining this setting you will enable honeypot lookups, which in turn will block web imap pop and smtp authentication connections from listed sites, it does not block normal incoming email, but does reduce the permitted guess count to '1'. You can whitelist an ip address using g_spam_allow or g_hacker_whitelist, this setting will tend to cause false positives which will stop users logging in, we don't recommend you use this setting currently.

Syntax: g_honeypot_key string

g_honeypot_rbl - RBL name to lookup, typically dnsbl.httpbl.org

This is the name of the rbl database we are going to query

Syntax: g_honeypot_rbl string

g_http_proxy - Proxy web server for fetching files via HTTP

Proxy web server for fetching files if direct access fails. (mainly for updates to the spam prevention rules from netwinsite.com and for downloading the latest version of the SurgePlus Windows client to make available to your users.) 

Syntax: g_http_proxy string

g_imap_acl - Enable ACL (shared folders) in imap

This setting allows folders to be shared between users. See the domain setting 'imap_public'. Requires surgemail 3.9d or later! For this to work you will need an imap client that supports ACL's to create and map shared folders (.e.g. thunderbird)

Syntax: g_imap_acl bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_blacklist - Test if imap users are in rbl's and email admin

This lets you find any of your users who's ip address has been blacklisted, at most it will email once a day, any additional entries are logged in mail.err log file (search for 'blacklist')

Syntax: g_imap_blacklist bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_capa - Where to get the CAPABILITY value from

When you have suffix based domains and you're using SurgeWall the CAPABILITY request comes before the domain of the user is known. As such SurgeMail cannot determine whether to send the real servers CAPABILITY or it's own. This setting will choose the default behaviour, valid values are: Local, . By default SurgeMail defaults to the behaviour of the primary domain, if it's surgewall then it obtains the real server capability. "Local" defaults to SurgeMails own capability, and defaults to the real server capability.

Syntax: g_imap_capa string

g_imap_capa_strip - Capability values to hide

In some situations you might not want to advertise server capabilities, for example SURGEMAIL and XFLDDATA when they cause problems with SurgeWall operations. Or perhaps the IDLE capability. Specifying the capability strings to hide here will cause SurgeMail to stop advertising those capabilies.

Syntax: g_imap_capa_strip string

g_imap_cram_enable - Enable CRAM-MD5 authentication (requires nwauth 4.0h or greater)

Please note that CRAM-MD5 does have security implications, specifically it means that the local users password must be stored in a semi reversable state in the authent database. Also you must be using the new version of the NWAuth module.

Syntax: g_imap_cram_enable bool

See also: smtp_auth_off, surgewall_auth, g_acctlog_authonly, g_allow_user_authent_field_get, g_allow_user_authent_field_set, g_authent_always, g_authent_any, g_authent_allow_badascii, g_authent_prefix_sep, g_authent_process, g_authent_cachelife, g_authent_cachebad, g_authent_cachesize, g_authent_domain, g_authent_encrypt_key, g_authent_number, g_authent_info, g_authent_info_grp, g_authent_ip, g_authent_path_broken, g_authent_single, g_authent_spaces, g_authent_strip_domain, g_authent_restart, g_authent_logall, g_authent_fwdfile, g_authent_timeout, g_authent_last_login, g_auth_hide, g_auth_norelay, g_auth_skipgateway, g_mirror_nwauth, g_mirror_nwauth_always, g_filter_pipe_noauth, g_gateway_auth, g_smite_skip_auth, g_smtp_auth_debug, g_smtp_portauth, g_smtp_etrn_auth, g_smtp_auth_off, g_smtp_auth_ip, g_smtp_noauth, g_smtp_noauthm, g_smtp_noauth_msg, g_spam_check_auth, g_xauthuser_hide

g_imap_delay - Glob data into bigger packets, never use this

This setting has no further documentation currently available

Syntax: g_imap_delay bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_friends - Make the friends_pendign folder visible in imap

Setting to map the friends_pending folder into an imap folder. There is no corresponding setting for the 'held' folder as we believe people should always use the friends mechanism as it is a superset of the held folder in functionality

Syntax: g_imap_friends bool

g_imap_idle_nsf - The number of seconds before a complete directory rescan. To be use on NSF network drives

Number of seconds for IMAP IDLE to do directory rescan

Syntax: g_imap_idle_nsf int

g_imap_log_body - Log imap fetch body commands to msg*.rec log files

This only logs when a body or body part is read via imap

Syntax: g_imap_log_body bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_log_copy - Log imap copy commands to msg*.rec log files

This setting has no further documentation currently available

Syntax: g_imap_log_copy bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_log_flush - IMAP log flush

Flush IMAP log on every write (for debugging).

Syntax: g_imap_log_flush bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_log_header - Log imap fetch header commands to msg*.rec log files (not usually needed)

This logs rather a lot so may create excessive logging. Probably the log body setting is more wise.

Syntax: g_imap_log_header bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_log_protocol - Log IMAP protocol

Log IMAP protocol and other IMAP information to the mail.log file.

Syntax: g_imap_log_protocol bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_max_messages - The number of messages in a single imap folder, default 200000

This setting helps limit impact when a user has a large folder, it will fail to load a folder larger than this and report errors in the log, it does not prevent the folder from having messages added to it, and it does not inform the user that the problem has occurred, this setting is primarily to limit impact of a crazy user :-)

Syntax: g_imap_max_messages int

g_imap_no_internal_date - Disable the internal date output on IMAP commands

The RFC implementation of internal dateis broken wiht MS outlook. SurgeMail has been modified to conform to the outlook inplementation of internal date making this setting redundant..

Syntax: g_imap_no_internal_date bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_old - Revert to old imap module

Replace normal imap with old imap module, not recommended/supported

Syntax: g_imap_old bool

g_imap_old_ip - Revert to old imap module for some ip's

Replace normal imap with old imap module, not recommended/supported

Syntax: g_imap_old_ip string

g_imap_pop_burst - Always burst using imap code

Prevents redownloading messages if file indicating user is using imap is lost. Generally this setting is not needed and should not be used. Turning it on/off will result in users getting duplicate messagese if they are using POP and have leave on server ticked

Syntax: g_imap_pop_burst bool

g_imap_port - IMAP Port (default 143)

Specifies the PORT to listen for IMAP connections on. IMAP is an alternative to POP protocol where the messages and folders all exist on the server. This is ideal when sharing a mail account between several users or when using Email from more than one computer.  Use the keyword 'disabled' to disable this part of the surgemail service.

Syntax: g_imap_port int

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_search_noattach - Skip non text attachments when searching

This setting has no further documentation currently available

Syntax: g_imap_search_noattach bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_secure_port - IMAP Port (default 993)

Specifies the PORT to listen for dedicated SSL IMAP connections.

Syntax: g_imap_secure_port int

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_size_fetch - If true, will display message sizes on fetch command. (ie * 123 EXISTS)

Displays message size in IMAP responses

Syntax: g_imap_size_fetch bool

g_imap_spam_train - Train if moving message to 'spam' folder, or from 'spam' folder to inbox

This setting has no further documentation currently available

Syntax: g_imap_spam_train bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_testing - Test imap module instead of normal one (not functional)

Replace normal imap with a test one, this is not functional, do not use this setting.

Syntax: g_imap_testing bool

g_imap_timeout - Time, in minutes for imap timeout, RFC required default is 30

You may in some cases wish to reduce this below the RFC required default if your server is under very heavy load. Results may be unexpected when breaking RFC behavior!

Syntax: g_imap_timeout int

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_timezone - Timezone to display - for testing purposes only

as per title :-)

Syntax: g_imap_timezone string

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_imap_uidl_nofix - Disable UIDL auto repair of duplicate entries

If true disable auto repair of identical UIDL entries.

Syntax: g_imap_uidl_nofix bool

g_imap_user_flags - This setting may confuse some email clients (mac) use with cautioun

This may confused some email clients if multiple clients are used on a single account as the user flags can conflict

Syntax: g_imap_user_flags bool

g_include - Include another ini file global settings only

Unlike the include command this setting will allow editing of the ini file in web admin, but settings included via this setting will not appear in the admin interface

Syntax: g_include string

g_iplimit - Untrusted local ip addresses e.g. web servers, special sending limits applied.

These limit settings let you control untrusted sources which may get viruses or cgi scripts that open them up to abuse. By throttling the remote addreses limit this will prevent any significant abuse. Authenticated sessions are 'not' limited!.

Syntax: g_iplimit string

g_iplimit_islocal - Add domains to list of domains considered local for limit counting

See explanation of g_iplimit

Syntax: g_iplimit_islocal string

g_iplimit_local - Max sends from untrusted ip to local domains per 30 minutes.

See explanation of g_iplimit

Syntax: g_iplimit_local int

g_iplimit_remote - Max sends from untrusted ip to remote domains per 30 minutes.

See explanation of g_iplimit

Syntax: g_iplimit_remote int

g_iplimit_whitelist - List of 'from' addresses that should bypass limits

This lets you bypass the iplimit restrictions for a known trusted user/form that needs to send a lot of local/remote emails

Syntax: g_iplimit_whitelist string

g_ipv6_enable - Enable IPV6 networking (beta testing only)

Enable IPV6 networking - this feature only exists on some platforms. And is not yet fully implemented. We strongly advise you DO NOT use this on a live mail server but rather use it in your ipv6 test environment.

Syntax: g_ipv6_enable bool

See also: dmail_skip_imap, imap_public, old_imaphost, old_imaphost_always, old_imaphost_createuser_disable, old_imaphost_nodomain, old_imaphost_nodelete, old_imaphost_prefix, old_imaphost_file, old_imaphost_user, old_imaphost_pass, old_imaphost_lowercase, old_imaphost_skip, g_autologin_imap_disable, g_fix_imap_lf, g_imap_acl, g_imap_blacklist, g_imap_cram_enable, g_imap_capa, g_imap_capa_strip, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_imap_port, g_imap_delay, g_imap_secure_port, g_imap_search_noattach, g_imap_spam_train, g_imap_no_internal_date, g_imap_timezone, g_imap_timeout, g_imap_uidl_nofix, g_imap_size_fetch, g_imap_idle_nsf, g_imap_testing, g_imap_old, g_imap_old_ip, g_imap_pop_burst, g_imap_friends, g_imap_user_flags, g_imap_max_messages, g_safe_imap, g_old_imap_headbody, g_ssl_allow_imap, g_ssl_require_imap

g_keepalive - Attempts to use keepalive for the web sessions (experimental & faulty currently)

Don't use this yet, we are still working on it.

Syntax: g_keepalive bool

See also: webmail_url, webmail_urladd, webmail_workarea, webmail_host, web_url_path, g_key_manual, g_key_nowarning, g_webdav_enable, g_webdav_group, g_webdav_public, g_webdav_path, g_webmail_limit, g_webmail_port, g_webmail_secure_port, g_webmail_timeout, g_webmail_useip, g_webmail_popmode, g_webmail_url, g_webmail_urladd, g_webmail_workarea, g_webmail_select_domain, g_webmail_secret, g_web_hide_source_names, g_web_force_doctype_first_disable, g_web_url_path, g_web_title

g_key_manual - Try and activate automatically when the key expires

When you purchase updates you must activate to get the expire date reset in surgemail, if this setting is not turned on then surgemail will try and do this automatically for you.

Syntax: g_key_manual bool

See also: webmail_url, webmail_urladd, webmail_workarea, webmail_host, web_url_path, g_keepalive, g_key_nowarning, g_webdav_enable, g_webdav_group, g_webdav_public, g_webdav_path, g_webmail_limit, g_webmail_port, g_webmail_secure_port, g_webmail_timeout, g_webmail_useip, g_webmail_popmode, g_webmail_url, g_webmail_urladd, g_webmail_workarea, g_webmail_select_domain, g_webmail_secret, g_web_hide_source_names, g_web_force_doctype_first_disable, g_web_url_path, g_web_title

g_key_nowarning - Disable reminders to update your license

Disables the email reminding you to pay for updates for virus and spam filter and new versions etc...

Syntax: g_key_nowarning bool

See also: webmail_url, webmail_urladd, webmail_workarea, webmail_host, web_url_path, g_keepalive, g_key_manual, g_webdav_enable, g_webdav_group, g_webdav_public, g_webdav_path, g_webmail_limit, g_webmail_port, g_webmail_secure_port, g_webmail_timeout, g_webmail_useip, g_webmail_popmode, g_webmail_url, g_webmail_urladd, g_webmail_workarea, g_webmail_select_domain, g_webmail_secret, g_web_hide_source_names, g_web_force_doctype_first_disable, g_web_url_path, g_web_title

g_language_default - Default language for user web interface

If the user has not yet selected a language then this language is used as a default. If the language specified here does not exist in the language files, or nothing is specified here then English is used as the default language.

Syntax: g_language_default string

g_last_login - Create last_login.time files

If true then when users login via pop or imap or webmail the file last_login.time is created/touched, this can then be used by local scripts to determine which user directories are not in active use.

Syntax: g_last_login bool

g_last_login_days - If last login is more than this many days then reject email - do not use on mirrors

This can be used on a shared disk cluster to establish which users are inactive. On a normal mirror or stand alone system you should use DISABLE_SMTP_AFTER

Syntax: g_last_login_days int

g_late_forward - Apply all users forwarding rules after friends, spam, and filtering

By default users forwarding rules are applied before friends, spam and user filter rules. By default users can tick and option on their forwarding page to perform 'late' forwarding, that is forwarding that occurs after friends, spam and filtering. This option overrides the user option and causes all user forwarding rules to be applied after friends, spam and filtering.

Syntax: g_late_forward bool

g_ldap_forward - Remote ldap server to forward requests to (only for testing do not use)

Forwards all ldap requests to another host, primarily intended for testing, use at your own risk.

Syntax: g_ldap_forward string

See also: ldap_disable, ldap_anydomain, g_ldap_port, g_ldap_outlook_browse_max

g_ldap_outlook_browse_max - Basic outlook ldap address browsing, max items (KEEP THIS SMALL eg <50): default=0 (disabled)

numeric maximum items to return default=0 (ie disabled)

Syntax: g_ldap_outlook_browse_max int

See also: ldap_disable, ldap_anydomain, g_ldap_port, g_ldap_forward

g_ldap_port - LDAP Port (normally 389)

If specified this enables the mini ldap server inside surgemail which allows users with email clients that can do 'ldap' directory lookups to search for other users on the system. Obviously this should NEVER BE turned on for a public mail server, it is only appropriate with private mail servers where all users who can access the system are trusted.

There are additional 'domain' settings ldap_anydomain, which lets users search for users outside their own domain name. And ldap_disable which can disable ldap for specific domains.

Syntax: g_ldap_port int

See also: ldap_disable, ldap_anydomain, g_ldap_forward, g_ldap_outlook_browse_max

g_lf_fix_off - If input contains naked 'lf' characters then reject with error instead of stripping as usual

This setting has no further documentation currently available

Syntax: g_lf_fix_off bool

g_local_skipgateway - Skip gateway rule for local messages

If true skip gateway rule for local messages (bounces etc). 

Syntax: g_local_skipgateway bool

g_log_bounce_disable - Stop bounce reject entries filling up log (typically from spam bounces)

Disables useless logging in msg*.rec files, only recommended for busy servers

Syntax: g_log_bounce_disable bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_date - Log full date in log files

Makes log lines more complete

Syntax: g_log_date bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_date_msg - Log full date in msg log files (g_log_date required too)

Makes log lines more complete with the full date

Syntax: g_log_date_msg bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_disable - Disable most logging - not recommended

This setting has no further documentation currently available

Syntax: g_log_disable bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_dns - Log dns responses in gory detail

Useful when debugging unexpected DNS results, search for 'dns' in mail.log to find the results.

Syntax: g_log_dns bool

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_log_dropped_disable - Don't log if no 'data' command sent

Disables useless logging in msg*.rec files, only recommended for busy servers

Syntax: g_log_dropped_disable bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_flush - Flushing log - flush on every write

This makes the server flush log data after every write to the file. This affects performance but can sometimes be the only way to track down an unusual fault eg: if the server dies the log is completely up to date and shows the last thing the server did before dying. 

Syntax: g_log_flush bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_fwd - Log fwd/redirection rules associated in msg.rec

Log fwd/redirection rules associated with g_log_rcpt in msg.rec files. 

Syntax: g_log_fwd bool

g_log_level - Set logging level

Set the logging level. This is primarily intended for finding faults with the server. Info level logging is the default. Alternatives are 'error' and 'debug' 

Syntax: g_log_level string

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_norcpt - Don't log individual recipients in msg.rec files

Log individual recipients in msg.rec files

Syntax: g_log_norcpt bool

g_log_path - Path for log files

Sets the path for all SurgeMails generated logfiles. (except the delivery record logs)

Syntax: g_log_path string

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_pid - Log pid

Log PID along with thread-id in the UNIXlog files.

Syntax: g_log_pid bool

g_log_reject_disable - Disable the logging of rejected mail

SurgeMail will normally log failed deliveries due to MFilter / SmiteSpam / etc in the delivery logs. This setting will restrict this logging to accepted mail only.

Syntax: g_log_reject_disable bool

g_log_size - Size of the mail.log files before they are rotated

The mail.log files are a fixed size rotating log of what is happening inside SurgeMail. Dependant on the load of your server this may contain a few days worth of activity or a few minutes worth. This setting allows you to change the default 2MB before rotation size.

Syntax: g_log_size int

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_slow - Do slower logging system

Forces logging to disk even if it may slow things down. Not recommended.

Syntax: g_log_slow bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_start_norotate - Don't rotate log on startup

By default the mail.log is rotated to mail2.log... on startup.

Syntax: g_log_start_norotate bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_syslog - Send 'msg.rec' entries to syslog

This is useful to 'merge' log information on a single host, on unix you specify the destination in your syslog configuration rather than specifying a host. On windows you can specify the remote host as you may not have a local syslog daemon

Syntax: g_log_syslog bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_syslog_debug - Send 'mail.log' entries to syslog as 'mail.debug' data

This data is probably not worth sending to syslog, it's really debugging information of no long term value and too much to store.

Syntax: g_log_syslog_debug bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_syslog_host - Specify host to send syslog entries to (windows only)

On windows this lets you tell surgemail where the syslog deamon is, on unix you can do this in your syslog config file.

Syntax: g_log_syslog_host string

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_syslog_only - Disable writing to msg.rec

This prevents the local logs from being written

Syntax: g_log_syslog_only bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

Syntax: g_log_tcp_read string

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_tcp_read,g_log_tcp_write - Log actual data for a specific IP

These settings let you 'trace' the data going 'to' and or 'from' a specific IP address (or list, or wild card) Lets say you have a client on a specific address that has a problem where the fault could be server/client or network related. To track it down add this to surgemail.ini

g_log_tcp_read "2.3.4.5"
g_log_tcp_write "2.3.4.5"

Then try whatever is 'failing' and examine 'mail.log' to see what was read/written to that client.

Syntax: g_log_tcp_write string

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_log_thid - Log thread id in .rec files

Logs the thread id in the msg*.rec files, this is good for some types of debugging.

Syntax: g_log_thid bool

See also: redirect, redirect_max, redirect_cc, redirect_hash, g_create_record_ip, g_bounce_redirect, g_orbs_rec, g_received_name, g_received_names, g_received_skip, g_received_skip_all, g_received_skip_spf, g_recent_bypass, g_record_days, g_record_hash, g_record_path, g_redirect, g_redirect_cc, g_redirect_from, g_redirect_from_cc, g_redirect_hide, g_redirect_iflocal, g_redirect_ignore_errors, g_redirect_noautocreate_rules, g_spam_allow_recent, g_user_receive_rule, g_virus_recent_skip

g_log_user - Log pop/imap/smtp protocol for specified user

Creates a file for each user that matches this list, user_user@domain.log

Syntax: g_log_user string

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_lookup_names - Lookup names for connecting IP addresses

This is one of those things that you very likely do not want to turn on. It makes the mail server lookup the IP name of any connecting user, however lookups can take 30-90 seconds so it can negatively impact apparent performance. Most of the access rules in the server can accept IP names if this setting is enabled, e.g. instead of specifying local users are 153.2.3.* you can say '*.netwinsite.com" 

Syntax: g_lookup_names bool

g_lookup_reject_fails - If lookup cannot get a name, reject user (not generally recommended)

If lookup cannot get a name, reject user (not generally recommended) 

Syntax: g_lookup_reject_fails bool

g_lowdisk_warning - Disk space level below which to warn the manager

SurgeMail checks available disk space on startup and every half hour whilst running on all the mail, temp and home directories. If any is found to be low an email is sent to the system manager.  The recommended level is at least 100MB (default is 10MB).

Syntax: g_lowdisk_warning string

g_mailbox_path - Default directory to store mail

Default directory to store mail this is used to set mailbox_path when creating domains. 

Syntax: g_mailbox_path string

g_maildir_max - Max messages in a folder, do not adjust

The default is 30,000. When exceeded additional messages are invisible until some are deleted. We strongly recommend you don't change this limit as large folders are gemoetrically inefficient and users should take steps to avoid this limit rather than increasing it.

Syntax: g_maildir_max int

See also: g_maildir_netwin, g_maildir_standard, g_maildir_report

g_maildir_netwin - Use NETWIN proprietry storage format - Not Recommended

This changes the storage format from one message per file, to a proprietry format, the spool is converted automatically when you restart surgemail. As a new feature which reformats all messages stored this settings has some risks, we suggest caution particularly on an existing server, ensure you have a backup mechanism of some kind in place!. Although this setting can give performance gains we think generally the gains do not out weigh the risk introduced, personally I prefer a simple 'directory of files' for each mail folder

Syntax: g_maildir_netwin bool

g_maildir_report - Email manager on ndb errors

This is for debugging and not for general use

Syntax: g_maildir_report bool

g_maildir_standard - Use more standard maildir format

The maildir format is flawed in that it is not designed to be used on Windows systems. This setting will force SurgeMail to use a more standard maildir format, but does mean you cannot just copy mail from a UNIX box to a Windows box as the ":" character is a reserved character on Windows systems. 

Syntax: g_maildir_standard bool

g_mailstatus_message - Error message to give when mailstatus is set to specified state

This allows you to specify the error message given to the user when they are set to certain states, you may use other authent fields in the message, for example:

g_mailstatus_message state="payup" message="Payment is due $full_name$, please pay here: http://your.site/path/file.htm"

Syntax: g_mailstatus_message state=string message=string

g_manager - Email address of manager

Email address to send reports to. 

Syntax: g_manager string

g_manager_port - Manager port (default 7026)

This is the port the web manager and web mail access will run on. By default it is port 7026. Use the keyword 'disabled' to disable this part of the surgemail service.

Syntax: g_manager_port int

g_manager_secure_port - Manager secure port (default 143)

This should be the main server management port and provides a secure server management connection. By default it is port 7025. https://your.mail.server:7025. Use the keyword 'disabled' to disable this part of the SurgeMail service.

Syntax: g_manager_secure_port int

g_manager_smtp - SMTP server for manager Emails about failures

For obvious reasons, if the server is not working it cannot use itself to send the manager an Email message, so for highest reliability you may want to define another mail server for fault reports to be Emailed to. 

Syntax: g_manager_smtp string

g_manager_username - Global domain managers username (for web based domain administration)

Specifies the local users which have manager rights for all domains. These users can login to the user self management interface and will recieve special domain manager options. This setting works slightly different to the domain level 'manager_username' setting in that if you specify an account without the @domain part i.e. 'admin' it gives all admin users in all domains domain rights over all domains.

Syntax: g_manager_username string

g_max_bad_ip - Max bad recipients per ip address before blocking that ip

This setting is important to stop hackers fishing for email addresses by guessing, I recommend you start with a low setting like 5, but increase to 100 if it causes problems. If you have a firewall or spam filter in front of surgemail add G_SPAM_ALLOW to whitelist it's ip address

Syntax: g_max_bad_ip int

g_max_bad_ip_time - Seconds to block guessing hackers

The default is 1 day (used to be 1 hour). Units is seconds

Syntax: g_max_bad_ip_time int

g_max_bad_nolookup - Max bad recipients in a row if exceeded skip user lookup

Max bad recipients in a row if exceeded skip user lookup - useful when tarpitting a spammer. 

Syntax: g_max_bad_nolookup int

g_max_bad_to - Max bad recipients in a row

If a system sending your system Email sends more than the specified number of bad addresses in a row then it is assumed to be incoming spam and further messages are rejected. 

Syntax: g_max_bad_to string

g_mdir_hash - SurgeMail hashing mode

Hashing mode for SurgeMail, default is 5, for compatibilty with /b/o/bob use 2. 

Syntax: g_mdir_hash int

g_mdir_prefix - Maildir folder prefix

Prefix for maildir folders defaults to 'mdir', use '.' for compatibility with qmail. 

Syntax: g_mdir_prefix string

g_mfilter_addonly - Add headers only

If true then only allow 'adding' headers, not changing them.

Syntax: g_mfilter_addonly bool

g_mfilter_bounces - Run mfilter on bounce messages and responders etc

Run the mfilter processing even on bounces

Syntax: g_mfilter_bounces bool

g_mfilter_file - Path to mfilter.rul spam rule processing

This is the full path to the Mfilter rule file which provides advanced message filtering capabilities. See Mfilter.htm for more details.

Syntax: g_mfilter_file string

g_mfilter_localonly - Only filter local deliveries

If true then only run Mfilter on local deliveries.

Syntax: g_mfilter_localonly bool

g_mfilter_maxlen - Mfilter Max message length

Size to truncate messages to before processing with Mfilter.

Syntax: g_mfilter_maxlen int

g_mfilter_noisey - Do log anything in mfilter

Logs the real details of mfilter, never user on a live busy system this is only intended for debugging an mfilter script. It logs every line of the script!

Syntax: g_mfilter_noisey bool

See also: g_mfilter_file, g_mfilter_bounces, g_mfilter_maxlen, g_mfilter_addonly, g_mfilter_localonly, g_mfilter_trace, g_mfilter_skip_ip, g_mfilter_skip_from, g_mfilter_skip_to, g_user_mfilter

g_mfilter_skip_from - From addresses (envelope) to skip mfilter processing for

This setting has no further documentation currently available

Syntax: g_mfilter_skip_from string

g_mfilter_skip_ip - Skip mfilter for messages from these ip's

This allows you to add a comma separated list of ip's to skip running mfilter on. This is based on the ip of the sender. Wild cards and ranges can be used.

Example:
g_mfilter_skip "10.0.0.2,210.56.43.*,193.1.16-24.0-255"

Syntax: g_mfilter_skip_ip string

g_mfilter_skip_to - To addresses to skip mfilter processing for

If one matches then mfilter is skipped for entire message

Syntax: g_mfilter_skip_to string

g_mfilter_trace - Log trace lines in Mfilter

Log trace lines in Mfilter for debugging .

Syntax: g_mfilter_trace bool

g_mirror_config - Mirror surgemail.ini

Syntax: g_mirror_config "true/false"

You put this on both machines and it will attempt to mirror the surgemail.ini. There will be some settings that you do not wish to mirror and these can be exempted by using:

g_mirror_config_except "setting,setting,setting"

Some settings are not mirrored by default these are: g_mirror_host, g_mirror_nwauth*, g_mirror_mode, g_authent_path, g_dlist_path, g_log_path, g_record_path, g_home, g_authent_process, g_mfilter_file, g_webmail_work, g_work, g_virus_cmd, g_atrn_port, g_imap_port, g_imap_secure_port, g_ldap_port, g_manager_port, g_manager_secure_port, g_monitor_port, g_pop_port, g_pop_secure_port, g_ppd_port, g_smtp_port, g_smtp_secure_port, g_webmail_port, g_webmail_secure_port, g_surgeplus_port, g_surgeplus_secure_port, g_surgeplus_web_port, g_bind_out, g_virus_avast, dmail_drop_path, dmail_bin_path, web_path, webmail_work

(it is possible we will update this list over time)
* g_mirror_nwauth is obsolete don't use it.

Syntax: g_mirror_config bool

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_config_except - Mirror surgemail.ini

Syntax: g_mirror_config "setting,setting,setting"

This will tell the server not to import the specified settings from the other mirror.

Example:
g_mirror_except "g_spam_allow"

This will tell the server not to change this setting. This only affects the machine its on, if the other server does not have this set, it will continue to mirror the setting. This setting accepts wildcards. This setting accepts a special case value "address" that will prevent mirroring of existing domain ip addresses, allowing different ips on each mirror machine. There are a number of settings which are not mirrored by default these are specified above in g_mirror_config.

In addition the mailbox_path setting is not mirrored, unless, the existing setting is a sub directory of the g_mailbox_path and the new setting is a sub directory of the g_mailbox_path from the other server, in which case the mailbox_path is set to the same sub directory using the existing g_mailbox_path setting eg.

[recieving server]
g_mailbox_path "c:\surgemail\mbox"
mailbox_path "c:\surgemail\mbox\domain"

[sending server]
g_mailbox_path "d:\surgemail\mbox"
mailbox_path "c:\surgemail\mbox\domain_moved_here"

[result on recieving server]
g_mailbox_path "c:\surgemail\mbox"
mailbox_path "c:\surgemail\mbox\domain_moved_here"

Syntax: g_mirror_config_except string

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_trash, g_mirror_debug

g_mirror_debug - Log more info to mirror log.

Helps when tracking down fault with nwauth or mirroring, never leave turned on as it can lead to mutex crashing

Syntax: g_mirror_debug bool

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash

g_mirror_host - Mirror host 

This unique SurgeMail feature allows you to setup two identical mail servers across a local or widearea network. The waiting mail messages & folders etc are duplicated continuously between the two systems, so users can use either system. If either system fails for any hardware reason the other acts as an instant on line replacement without any interruption to the user. In addition when the faulty system is replaced the two automatically re-synchronize. 

See this page for Mirror overview

Syntax: g_mirror_host string

See also: g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_live - Mirror: Send incoming messages immediately

Enables a faster mirroring mechanism, strongly recomended, this setting will be the default in a future release

Syntax: g_mirror_live bool

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_live_max - Limit size of mirror_live default 60k

This prevents smtp delays when mirroring over a slowish link. The default is 60k

Syntax: g_mirror_live_max int

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_mode - Master / slave mirror system

Certain actions may only be run on the mirror master system (such as expire processing) or are different in behaviour between the master and slave (such as NWAuth mirrorring and dlist mirorring). This setting must be set to MASTER on one system and SLAVE on the other system for correct operation. (Note basic mirrorring of delivered mail will happen if this setting is the same on both systems it is just some of the special mirrorring functionality that this is required for)

Syntax: g_mirror_mode string

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_nossl - Disable SSL for mirror protocol connection

This is best turned off unless your servers are talking over a wide area untrusted network. 

Syntax: g_mirror_nossl bool

See also: g_mirror_host, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_nwauth_always - Mirror nwauth database files

Set this if you're using multiauth to run nwauth and you want those files mirrored. Requires you to add -isslave2 to multiauth.ini nwauth command line. Requires the nwauth files to be located in the surgemail root/install directory.

Syntax: g_mirror_nwauth_always bool

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_prune_age - Mirror minimum age for items to be pruned during sync_prune

Mirror minimum age for items to be pruned during sync_prune, default 14 days. 

Syntax: g_mirror_prune_age int

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_secret - Mirror secret shared password

This password is required to prevent the mirroring mechanisms being abused. We recommend a random string of letters at least 10 characters long. e.g. "urcajfielsjfs" 

Syntax: g_mirror_secret string

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_threads - Max threads we can use during resync_fast, default 6

During resync fast four threads are used, this is usually sufficient, more may overload your system and result in failures, if your system is not under load you could set it as high as eight, but this would only be sensible if your disk array has more than 4 drives in it!

Syntax: g_mirror_threads int

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_trash, g_mirror_debug

g_mirror_trash - Normally on a resync the trash folder is ignored.

This can be useful when you want to compare results so you want everything even if it's a bit pointless

Syntax: g_mirror_trash bool

See also: g_mirror_host, g_mirror_nossl, g_mirror_nwauth, g_mirror_nwauth_always, g_mirror_mode, g_mirror_secret, g_mirror_prune_age, g_mirror_threads, g_mirror_live, g_mirror_live_max, g_mirror_config, g_mirror_config_except, g_mirror_debug

g_monitor_disable - Disable the monitor process

This allows the monitor process to be completely disabled. The monitor process is the swatch executable and can be setup to monitor and automatically restart SurgeMail if it crashes. The monitor process is also used to start SurgeMail from the using the web interface if it has been shutdown.

Syntax: g_monitor_disable bool

g_monitor_port - SurgeMail monitor port (default 7027)

The port SurgeMail monitor runs on allowing SurgeMail to be remotely started. Typically you won't need to change this, however you can specify an IP address to bind to or a list of alternate ports, e.g. 10.3.2.3:7027 or 7027,8027 etc...  

Syntax: g_monitor_port int

g_msg_hops_max - Maximum received lines or message is bounced, default 30

If there are more received lines than this the message is bounced.

Syntax: g_msg_hops_max int

g_msg_log_extra - Extra user activity logging

Log user activities like logins (successful and failed), and the download of message bodies to the 'msg.log' files; recYYMM/msgYYMMDD.rec

Syntax: g_msg_log_extra bool

g_msg_max - Max size of a single message

Max size, in bytes, of a message, eg: 20,000,000 for a 20mb limit. This setting is useful to prevent a single large message jamming up your system. 

Syntax: g_msg_max int

g_msg_max_drop - Drop link if size exceeded instead of waiting for the message to all arrive

This setting has no further documentation currently available

Syntax: g_msg_max_drop int

g_msg_max_total - Max size of a message * recipients

This limits abuse, if set to 100mb then if user sends 10mb message to 10 users it will be blocked

Syntax: g_msg_max_total int

g_msg_track - Message tracking - for debugging

Debugging setting, do not use

Syntax: g_msg_track bool

g_mutex_fast - Use fast mutex handling DEBUGGING option only

Interrnal use only

Syntax: g_mutex_fast bool

g_mutex_timing - Name of mutex to collect extra timing information for

Interrnal use only

Syntax: g_mutex_timing string

g_mx_tryall - Try all mx hosts even if lower than own mx priority

This breaks the standard RFC behavior, but can be sensible in certain rare situations which currently escape me.

Syntax: g_mx_tryall int

g_myrbl_store - Size of internal myrbl database

Best not to touch this setting, default is 10000, Suggested valid range would be no less than 1000 and no more than 100000

Syntax: g_myrbl_store int

g_myrbl_testing - Testing internal database(do not use)

Testing myrbl code... still in developement

Syntax: g_myrbl_testing bool

g_myrbl_to - Testing internal database(do not use)

Testing myrbl code... still in developement

Syntax: g_myrbl_to string

g_naked_msg - Text to display if message body contains naked LF characters

Default is: "Naked LF see http://netwinsite.com/surgemail/help/smtplf.htm"

Syntax: g_naked_msg string

g_newui_advanced - Always run new admin ui in advanced mode

This setting has no further documentation currently available

Syntax: g_newui_advanced bool

g_newui_disable - Disable new admin ui (do not use)

This setting has no further documentation currently available

Syntax: g_newui_disable bool

g_notag_notascii - Don't add x-notascii: charset to any non ascii message

This can be used by user exception rules for users that don't expect any foreign language messages

Syntax: g_notag_notascii bool

g_notag_url_forgery - Don't add x-UrlForgery when a ref urls seem to not match

Many scam's will use legit urls with aref links to their own site, this tries to tag such messages which can then be scored as spam via aspam_mfilter.rul

Syntax: g_notag_url_forgery bool

g_old_imap_headbody - Get head and body seperately

This is just the way it used to do it, I can't see any good reason for it, but I'm leaving this setting incase there is a reason :-)

Syntax: g_old_imap_headbody bool

g_old_pophost_debug - Log extra info when doing old pophost logins

Log extra info when doing old pophost logins for debugging. 

Syntax: g_old_pophost_debug bool

g_old_user_check - Disable the account status enabled check on rcpt lines

Normally the account status field is checked at the recipient stage, this setting disables this check.

Syntax: g_old_user_check bool

See also: g_allow_user_authent_field_get, g_allow_user_authent_field_set, g_authent_always, g_authent_any, g_authent_allow_badascii, g_authent_prefix_sep, g_authent_process, g_authent_cachelife, g_authent_cachebad, g_authent_cachesize, g_authent_domain, g_authent_encrypt_key, g_authent_number, g_authent_info, g_authent_info_grp, g_authent_ip, g_authent_path_broken, g_authent_single, g_authent_spaces, g_authent_strip_domain, g_authent_restart, g_authent_logall, g_authent_fwdfile, g_authent_timeout, g_authent_last_login

g_orbs_cache_life - Sets the amount of time to keep RBL entries cached.

Syntax: g_orbs_cache_life "seconds"
Default: 7200 seconds

This allows you to control how long the RBL lookups are cached for.

Example:
g_orbs_cache_life "100"

 

Syntax: g_orbs_cache_life int

g_orbs_check_all - Keep doing lookups even if found in a RBL, this is slower of course!

This checks all the RBL servers listed even if the connecting ip address is found in one server, this is slower but can mean you can score more accurately when an ip is listed in multiple RBL databases. Do not use with g_orbs_late, the two settings conflict and will not work. (g_orbs_late will be ignored)

Syntax: g_orbs_check_all bool

See also: g_honeypot_rbl, g_myrbl_testing, g_myrbl_to, g_myrbl_store, g_spam_allow_rbl, g_surbl, g_surbl_reject, g_surbl_whois, g_surbl_skip, g_surbl_skip_ip

g_orbs_exception - Exceptions to Open Relay / Known Spam sites

This allows you to over-ride a response from an ORBS/RBL database. For example, if a site you wish to do business with is in the RBL database you can add their IP address to this setting and then they can send you Email again. 

Syntax: g_orbs_exception string

g_orbs_fake - Ip address to pretend we find in rbl database for testing

This setting has no further documentation currently available

Syntax: g_orbs_fake string

g_orbs_force - Forces RBL lookup even if they are in an exception.

Syntax: g_orbs_force "true/false"

This allows you to force RBL lookups on users that would normally not be checked due to being in an allowed relay ip (g_allow_relay_ip).

Syntax: g_orbs_force bool

g_orbs_late - Disconnect user only if they fail to authenticate

Sometimes your customers will be using dial in lines that are banned by RBL databases, in this situation this setting will help as it will keep the connection alive long enough for a valid user to send an smtp authentication in.

Can also be used wth g_spf_skip_to "user@domain" this will allow you to add exceptions for users or domains that do not want RBL checks done on their accounts.

Syntax: g_orbs_late bool

g_orbs_list - Multiple Open Relay Blocking System RBL databases

Allows enforcement of a servers blacklisting or whitelisting in one or more RBL databases with a different action for each database. In addition this can be used to mark messages with a header which can then be taken into account in the SmiteCRC"SpamDetect rating" calculation. A RBL database is simply a DNS server that returns a positive response if a server is listed in the database. A variety of services are available online that can maintain blacklist databases. Normally you would maintain your own whitelist database that overrides the blacklist listings.

name=service action=deny,accept,stamp stamp="string to add to header ||remoteip||"

Where the stamp option adds the header:

X-ORBS-Stamp: string to add to header 1.2.3.4

The variable ||remoteip|| can be used to create a url to go directly to a spam database web site and give details on the offending ip address. e.g. stamp="Spamcop, http://spamcop.net/w3m?action=checkblock&ip=||remoteip||"

eg 1 - A simple deny mail from blacklisted servers could be achieved with:

g_orbs_list name="relays.ordb.org" action="deny"

eg 2 - A smarter setup with exceptions for certain IP ranges and a whilelist exception database, a blacklisted deny database and with useful header based tagging could be achieved as follows:

g_orbs_exception "127.0.0.*,12.34.56.*"
g_orbs_list name="mywhitedatabase.none" action="accept"
g_orbs_list name="relays.ordb.org" action="deny"
g_orbs_list name="relays.osirusoft.com" action="deny"
g_orbs_list name="bl.spamcop.net" action="stamp" stamp="spamcop, http://spamcop.net/w3m?action=checkblock&ip=||remoteip||"

eg 3 - To use the output of header based ORBS stamping in the SmiteCRC calculation the following could be used:

g_orbs_list name="relays.ordb.org" action="stamp" stamp="open relay"
g_orbs_list name="my.dialup.databse.none" action="stamp" stamp="dialup"

These entries have the following rules in filter.rul. If you used your own stamp text you would place appropriate entries in the local.rul file.

if(rexp_case("X-ORBS-Stamp", "open relay")) then
call spamdetect(4.0, "Sender's IP was on an open relay RBL")
endif

if(rexp_case("X-ORBS-Stamp", "dialup")) then
call spamdetect(4.0, "Sender's IP was on a dialup RBL")
endif

Some RBL lists return a numeric code to give extra meaning, for example 127.0.0.4 might mean an open relay, and 127.0.0.5 might mean the site has no postmaster address. You can specify multiple stamp messages using this format, stamp="4=Open Relay~5=No postmaster address~Default message goes here"

See Also: RBL's

Syntax: g_orbs_list name=string action=string stamp=string

g_orbs_rec - Log to record file if orbs deny action occurs

Log to record file if ORBS deny action occurs (can fill logs up). 

Syntax: g_orbs_rec bool

g_orbs_report - List of IP's to check in RBL(s)

Use this setting to test your own ip addresses, as soon as one is found in a RBL you will be sent an email to alert you. The test is performed hourly. To test add 127.0.0.2 to the comma seperated list

Syntax: g_orbs_report string

g_orbs_service - Open Relay Blocking System RBL, service name (superceeded by g_orbs_list)

Set the name of the RBL service you want to use. A RBL service is a DNS database that has a record of all known spamming sites. If the server finds the connecting users IP address in this database all Email from their system is rejected. Also see the setting g_orbs_exception.  Here are a few known RBL services, some charge and some are free!

Syntax: g_orbs_service string

g_orbs_submit - Do orbs check when 'data' command is sent or first valid recipient

This can reduce orbs lookups as a message that has no valid recipients will not trigger any orbs lookups.

Syntax: g_orbs_submit bool

g_orbs_system - Use system DNS lookups instead of SurgeMails for ORBS (not recommended)

If true use system DNS lookups instead of surgemails for orbs (not recommended). 

Syntax: g_orbs_system bool

g_orbs_testing - ORBS testing

If true ORBSlookups are recorded but not blocked.

Syntax: g_orbs_testing bool

g_orbs_timeout - Orbs timeout

ORBS lookup timeout in seconds (default=10). If the timeout is reached the message is accepted and the failure is logged to mail.log.

Syntax: g_orbs_timeout int

g_perflog_disable - Disable perflog logging

Completely disable the logging of historica performance data for the status graphs.

Syntax: g_perflog_disable bool

g_perflog_flush_interval - Flush interval

Interval in seconds to flush the performance log files to disk. Default is 3600 s (ie once per hour)

Syntax: g_perflog_flush_interval int

g_perflog_logall - Log all counters

Log all counters including the currently undisplayed counters. This is useful if in the future you suddenly think, Oh I would really like to see the historic information on one of the undisplayed counters - which would normally not have been logged to file.

Syntax: g_perflog_logall bool

g_perflog_lowres - Log in low resolution

Normally data is logged avery 10 seconds and 5 display scales are available hour, day, week, month and year. If this is set samples are taken every 5 minutes and 4 display scales are avbailable: day, week, month, year.

Syntax: g_perflog_lowres bool

g_perflog_surgeonly - Only log surgemail counters

On Windows systems surgemail's performance logging will gather counters from surgemail and from the system "Perfmon" performance logging. This disables the collection of system counters.

Syntax: g_perflog_surgeonly bool

g_pipelining - Show pipelining in ehlo response

Show pipelining in ehlo response - not recommended - has no behavior affect.

Syntax: g_pipelining bool

g_pop_add_size - Improves pop performance on nfs slightly

This renames inbox messages to include the size of the file so that an lstat call is not needed.

Syntax: g_pop_add_size bool

g_pop_blocksize - Size of packets to read POP messages (best left alone)

Size of packets to read POP messages (best left alone).

Syntax: g_pop_blocksize int

g_pop_delay - Send POP packets after waiting for more data to send

This setting replaced g_pop_nodelay, as the default has been changed. It was changed as this can improve performance.

Syntax: g_pop_delay bool

g_pop_flush_lines - Fluch to tcp every line of message sent (slow)

Too debug faulty network/client pop issues, not for general use, this may slow performance significantly

Syntax: g_pop_flush_lines bool

g_pop_lock - Lock out duplicate POP users with the file system

Use this setting if you are sharing a file system between multiple mail servers. This will make the mail server lock the users files to prevent a second user of the same name logging in and reading mail from one of the other systems.

Syntax: g_pop_lock bool

g_pop_max - Max total POP & IMAP users at any one time

This limits the channels that will be used at any one time for incoming POP and IMAP connections. The purpose of this setting is to prevent a sudden burst of users reading mail from using up all available channels. Generally setting this is a bad idea as there is a sensible default (dependent on the system resources available). 

See FAQ section on session limits

Syntax: g_pop_max string

g_pop_min_late - Give min time error on first command after login

This may be less disruptive as it stops the client thinking the password is wrong.

Syntax: g_pop_min_late bool

g_pop_min_msg - Additional warning to give user when they login too soon

This lets you explain to the user what the problem is. Don't get carried away some clients may not like a long string here!

Syntax: g_pop_min_msg string

g_pop_min_skip - Skip ip addresses matching this list.

Useful for whitelisting webmail servers etc. 127.0.0.1 is always skipped

Syntax: g_pop_min_skip string

g_pop_min_time - Min time in seconds between consecutive POP logins, NEVER USE

If a pop client connects more often than this, give an error. This setting will very likely break webmail sessions and cause odd problems, Best avoided!

Syntax: g_pop_min_time int

g_pop_nolock - Allows concurrent pop logins, recommended

This setting avoids problems when users use pop and imap access to the same account at the same time.

Syntax: g_pop_nolock bool

g_pop_port - Port to listen for POP connections (default 110)

Typically you won't need to change this, however you can specify an IP address to bind to or a list of alternate ports, eg: 10.3.2.3:110 or 110,6110 etc... By default the mail server listens to port 110 on all adapters/addresses. Use the keyword 'disabled' to disable this part of the SurgeMail service.

Syntax: g_pop_port string

g_pop_secure_port - Port to listen for secure POP connections (default 995)

Dedicated secure port to listen on for POP connections.  Use the keyword 'disabled' to disable this part of the SurgeMail service.

Syntax: g_pop_secure_port string

g_pop_warning - Send manager warning if this many sessions (pop or imap) reached (max 1 per hour)

This setting has no further documentation currently available

Syntax: g_pop_warning int

g_popfetch - Fetch incoming mail from another POP server

POPfetch will retrieve mail from POP accounts on another server and store it locally. The POP fetch interval can be set using g_popfetch_interval. The parameters for this setting are host(required), user(required), pass(required) or localuser(required).

eg:
g_popfetch host="netwin.co.nz" user="marijn" pass="secret" localuser="marijn@anydomain.com"

Alternatively POPfetch is able to attempt local delivery based on headers. Delivery is attempted to "X-Rcpt-To:" with fallback of "To:" and "Cc:" headers. To enable this the local user needs to be defined as "*,userxxx". Fetched mail will be delivered as specified in the headers or if no valid user is identified in the header to the default user "userxxx". 

Syntax: g_popfetch host=string user=string pass=string localuser=string disable=bool

g_popfetch_interval - Interval between POPfetch attempts

The interval (in seconds) between successive attempts to fetch mail from remote mailserver POP accounts (as per g_popfetch rules). (default is 5 minutes = 300)  

Syntax: g_popfetch_interval int

g_popfetch_kick - POPfetch will try and open the link for 10 seconds, then retry, this should bring up ISDN lines.

If true then POPfetch will try and open the link for 10 seconds, then retry, this should bring up ISDN lines. 

Syntax: g_popfetch_kick bool

g_popfetch_nodup - Drop duplicate messages

Drop duplicate messages based on "Message-id:" header. 

Syntax: g_popfetch_nodup bool

g_ppd_port - POPPassD port (default 106)

Port to listen for POPPassD connections. Typically you won't need to change this, however you can specify an IP address to bind to or a list of alternate ports, eg: 10.3.2.3:106 or 106,6106 etc... By default the mail server listens to port 106 on all adapters/addresses.  Use the keyword 'disabled' to disable this part of the SurgeMail service.

Syntax: g_ppd_port string

g_proxy - Proxy mode (or mailhost)

This enables the SurgeMail proxy mode, using 'tohost="xxx"' received from the authentication to determine real host for SMTP/POP connections. Any incoming SMTP, POP or IMAP connections will be passed on directly to the specified server. This allows you to split a domain over several separate systems. This method is outlined in general terms here.

To setup a proxy server system with 4 machines (2 proxy, 2 backend) use the following steps, lets assume your hosts are PROXY1, PROXY2, SERVER1, SERVER2

1) Set on the proxy servers in surgemail.ini g_proxy "true"

On the back end server use g_pop_nolock "true" (to avoid timing issues)

On the back end server set g_tohost_local "server1" (or server2) so it knows it's own name.

2) Configure your authent database to return 'tohost=xxx' for each user on your system, e.g. in nwauth

nwauth
set testuser1@test.com test tohost="SERVER1"
set testuser2@test.com test tohost="SERVER2"
lookup testuser1@test.com
+OK testuser1@test.com config 0 tohost="SERVER1"

3) Configure your load balancing router to send users to PROXY1 & PROXY2, ...

4) When new users are added always define the 'tohost' setting to define which system they are added to as load increases you can add more backend or frontend servers as needed.

This is very similar to the 'mailhost' setting some systems use in LDAPAuth to translate mailhost to 'tohost' you would use: info_fields mailhost,tohost in ldapauth.ini

Syntax: g_proxy bool

g_proxy_default - Default proxy host

Default host to forward to if 'tohost' is not defined in user database for this user. 

Syntax: g_proxy_default string

g_proxy_to_gateways - Proxy pop/imap connections to matching gateway settings

This setting has no further documentation currently available

Syntax: g_proxy_to_gateways bool

g_proxy_webmail - Redirect user.cgi logins to external host name

This lets you use a front end server to move web based logins onto the correct webmail host

Syntax: g_proxy_webmail host=string redirect=string

g_pstat_disable - Disable pstat per user accounting (for debugging)

Used for debugging only, do not play with this.

Syntax: g_pstat_disable bool

g_queue_limit - If on disk queue exceeds this block incoming mail

If you send email in faster than it can be sent, the queue grows forever until the server fails due to huge directories or insufficient disk space, this setting stops the incoming messages so you are alerted to the problem before it becomes critical. Note that this stops all incoming mail, including local deliveries. This is the number of items

Syntax: g_queue_limit int

Example: g_queue_limit "100000"

See also: g_queue_warning

g_queue_max - Size of internal queue file cache

Size of internal mail queue file cache, range 500-3000. 

Syntax: g_queue_max int

g_queue_warning - If on disk queue exceeds this send manager a warning

If you send email in faster than it can be sent, or something is wrong (e.g. a broken dns server) then this helps warn you early

Syntax: g_queue_warning int

Example: g_queue_warning "10000"

See also: g_queue_limit

g_quota - Disk quota for users in specified g_access_group

If the user is in the specified group they get the specified disk quota. This is applied if no quota is specified in the authent module.

Syntax: g_quota group=string quota=string

See also: quota_default, quota_domain, user_sms_quota, user_list_quota, webdav_quota, g_quota_warning_disable, g_quota_rcpt_disable, g_quota_try_later, g_quota_friends, g_quota_skip, g_quota_disable, g_quota_report, g_share_quota, g_user_sms_quota, g_user_list_quota

g_quota_disable - Disable quota system

Disables quota processing completely

Syntax: g_quota_disable bool

g_quota_friends - Count stored spam as part of quota

Count friends pending messages and spam store as part of the per user quota. 

Syntax: g_quota_friends bool

See also: quota_default, quota_domain, user_sms_quota, user_list_quota, webdav_quota, g_quota_warning_disable, g_quota_rcpt_disable, g_quota_try_later, g_quota_skip, g_quota, g_quota_disable, g_quota_report, g_share_quota, g_user_sms_quota, g_user_list_quota

g_quota_rcpt_disable - Disables quota check at rcpt stage

SurgeMail now does quota checking at rcpt stage (Quota checking used to be done after data arrived) This setting disables the quota checking at rcpt stage if the above causes problems (not intended for general use). 

Syntax: g_quota_rcpt_disable bool

See also: quota_default, quota_domain, user_sms_quota, user_list_quota, webdav_quota, g_quota_warning_disable, g_quota_try_later, g_quota_friends, g_quota_skip, g_quota, g_quota_disable, g_quota_report, g_share_quota, g_user_sms_quota, g_user_list_quota

g_quota_report - Send quota warnings to the manager

Useful for small systems where any quota limit failure is an issue for the manager to resolve

Syntax: g_quota_report bool

g_quota_skip - Skip quota checks for matching ip addresses

Skips the quota checking. Use this if you have a high priority robot (like your billing system) that must be able to deliver email to users (or students) even if the user is over quota.

Syntax: g_quota_skip string

See also: quota_default, quota_domain, user_sms_quota, user_list_quota, webdav_quota, g_quota_warning_disable, g_quota_rcpt_disable, g_quota_try_later, g_quota_friends, g_quota, g_quota_disable, g_quota_report, g_share_quota, g_user_sms_quota, g_user_list_quota

g_quota_try_later - Retry responses for over quota

Give 450 response if user is over quota so message will be resent. 

Syntax: g_quota_try_later bool

See also: quota_default, quota_domain, user_sms_quota, user_list_quota, webdav_quota, g_quota_warning_disable, g_quota_rcpt_disable, g_quota_friends, g_quota_skip, g_quota, g_quota_disable, g_quota_report, g_share_quota, g_user_sms_quota, g_user_list_quota

g_quota_warning_disable - Disables the 80% quota warning message

Disables the 80% quota warning message. 

Syntax: g_quota_warning_disable bool

See also: quota_default, quota_domain, user_sms_quota, user_list_quota, webdav_quota, g_quota_rcpt_disable, g_quota_try_later, g_quota_friends, g_quota_skip, g_quota, g_quota_disable, g_quota_report, g_share_quota, g_user_sms_quota, g_user_list_quota

g_rcpt_bang - Allow bang characters in addresses

Allow exclamation marks in addresses. ie '!'

Syntax: g_rcpt_bang bool

See also: rcpt_msg, g_rcpt_max, g_rcpt_max_in, g_rcpt_msg, g_rcpt_colon, g_rcpt_quote, g_rcpt_nodup, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_colon - Allow colon characters in addresses

Allow colon characters in addresses. ie ':'

Syntax: g_rcpt_colon bool

See also: rcpt_msg, g_rcpt_max, g_rcpt_max_in, g_rcpt_msg, g_rcpt_bang, g_rcpt_quote, g_rcpt_nodup, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_max - Max recipients per message, default is 1000

Max recipients per message, default is 1000, can only be lower than 1000.

Syntax: g_rcpt_max int

See also: rcpt_msg, g_rcpt_max_in, g_rcpt_msg, g_rcpt_bang, g_rcpt_colon, g_rcpt_quote, g_rcpt_nodup, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_max_in - Limit for recipients of untrusted channels, default g_rcpt_max

This limit is only applied to untrusted sessions (incoming mail)

Syntax: g_rcpt_max_in int

See also: rcpt_msg, g_rcpt_max, g_rcpt_msg, g_rcpt_bang, g_rcpt_colon, g_rcpt_quote, g_rcpt_nodup, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_msg - Invalid recipient response

Response given for invalid recipient errors message is prefixed by email address..

Syntax: g_rcpt_msg string

See also: rcpt_msg, g_rcpt_max, g_rcpt_max_in, g_rcpt_bang, g_rcpt_colon, g_rcpt_quote, g_rcpt_nodup, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_nodup - Ignore duplicate recipients to the same user

When enabled this prevents a message being delivered more than once to a single person, it's a fairly good setting to use and will get rid of some spam for people using fallback addresses.

Syntax: g_rcpt_nodup bool

See also: rcpt_msg, g_rcpt_max, g_rcpt_max_in, g_rcpt_msg, g_rcpt_bang, g_rcpt_colon, g_rcpt_quote, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_quote - Allow quote character(s) in addresses

By default quotes are blocked at the SMTP level, this is because some of the authent modules don't handle quotes in addresses so it's best not to let them through. There is no known reason for ever turning this setting on.

Syntax: g_rcpt_quote bool

See also: rcpt_msg, g_rcpt_max, g_rcpt_max_in, g_rcpt_msg, g_rcpt_bang, g_rcpt_colon, g_rcpt_nodup, g_rcpt_trace, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rcpt_trace - Add X-Rcpt-Trace headers

This will list all recipients in the message to facilitate tracing

Syntax: g_rcpt_trace bool

See also: rcpt_msg, g_rcpt_max, g_rcpt_max_in, g_rcpt_msg, g_rcpt_bang, g_rcpt_colon, g_rcpt_quote, g_rcpt_nodup, g_smtp_bounce_nslow, g_smtp_cmd_timeout, g_smtp_data_timeout

g_rdns_timeout - Timeout for reverse DNS lookups default is 30 seconds

Best set between 10 and 60

Syntax: g_rdns_timeout int

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_received_name - Name shown in received headers

Name shown as received "by" in the received headers this defaults to server name but can be specified if required:

eg "myservername"

	Received: from netwin.co.nz (unverified [10.0.0.5])
		by myservername (SurgeMail 1.5f) with ESMTP id 1140619
		for <marijn@netwin.co.nz>; Fri, 07 Nov 2003 10:25:59 +1300
   

Syntax: g_received_name string

g_received_names - List of valid received names for incoming email

This list is used when processing vanish_bad_bounces, vanish_virus_bounces and vanish_any_bounce. It defines the valid received names to expect quoted in a properly formed bounce message for a message from this server/system.

Syntax: g_received_names string

g_received_skip - Don't write a received header for local trusted users

This setting can be used to hide sensitive local ip addresses from outgoing mail headers. This will make tracking abuse more difficult, we do not recommend using this setting generally.

Syntax: g_received_skip bool

g_received_skip_all - Skip local received header for messages that have non local recipients

Note that in the case of a message that is to a local and remote recipeient, it will skip the headers for both, even though the desire is to skip them for the remote recipient only. This not quite right, ideally one should skip this for outgoing only but since the header is added at delivery time we thought this was close enough.

Syntax: g_received_skip_all bool

g_received_skip_spf - Skip spf received header for messages that have non local recipients

Note that in the case of a message that is to a local and remote recipeient, it will skip the headers for both, even though the desire is to skip them for the remote recipient only. This not quite right, ideally one should skip this for outgoing only but since the header is added at delivery time we thought this was close enough.

Syntax: g_received_skip_spf bool

g_recent_bypass - Bypass recent login failure checking

This allows you to disable recent login failure checking for certain IP addresses. Normally there up to a maximum of 9 login attempts are allowed per connection.

Syntax: g_recent_bypass string

g_record_days - Period delivery logs are stored

The number of days SurgeMail message delivery logs are stored.

Syntax: g_record_days int

g_record_hash - Hash delivery logs

Message delivery logs may be stored in hashed format within g_record_path as <surgemail dir> \recYYMM\msgYYMMDD.rec

Syntax: g_record_hash bool

g_record_path - Path for mail delivery logs

Sets the path for the SurgeMail delivery logs. Delivery logs contain entries for mail received and delivered in a single file per day. See Searching the Log Files for more information.

Syntax: g_record_path string

g_redirect - Redirect messages to 'was' to the 'new' address

Specifies global redirection rule. These rules are applied to local and remote addresses so should be used with 'care', for domain based redirection use the redirect rules within a domain. An example rule would be: fred@xx.com --> bob@yy.com or *@xx.com --> joe@xx.com 

Wild cards can be used and replaced, e.g.

g_redirect was="*@gadget.net" to="%1@gadget.com"
g_redirect was="*@*.gadget.com" to="%1-%2@gadget.com"

Would make

bob@gadget.net --> bob@gadget.com
fred@cool.gadget.com --> fred-cool@gadget.com

These rules are processed 'before' the domain is identified, therefore you cannot use host_alias domain values in them. Use a domain redirect rule if this is required.

You can also redirect a message to a robot or script like this:

g_redirect was="auto@mydomain.com" to="|/usr/local/myrobot.sh"

Your script can read the environment variables:
MAILFROM
RCPTTO
MSGSIZE

And must read the message on 'stdin', the message will be terminated with "crlf.crlf"

Your script can then process the message and if it want's to respond must use smtp to send a response back etc...

Your script will run as the user 'mail' so if that user does not have access to the script file or work files then it will fail :-)

 

Syntax: g_redirect was=string to=string

g_redirect_cc - Carbon Copy redirect message

Same as 'redirect' but the message is still delivered to the original address as well. For g_redirect_cc there are two special names defined "$localdomain$" and "$remotedomain$", which can be used in the 'was' paramater (requires SurgeMail 2.3). 

Syntax: g_redirect_cc was=string to=string

g_redirect_from - Redirect message if from matches

Redirect a message to another address if the from matches. 

Syntax: g_redirect_from from=string to=string

g_redirect_from_cc - Carbon Copy redirect message if from matches

Redirect a copy of the message to another address if the from matches still delivering to the original address as well.

Syntax: g_redirect_from_cc from=string to=string

g_redirect_hide - Hide the redirection in the SMTP output

Hide the redirection in the SMTP output

Syntax: g_redirect_hide bool

g_redirect_iflocal - If local domain, then apply redirect

This is for doing fancy redirection where the rule is only applied if the domain of the destination is a local domain. For example to redirect all messages to postmaster at any local domain to one particular admin user.

Syntax: g_redirect_iflocal was=string to=string

Example: g_redirect_iflocal was="postmaster@*" to="john@main.domain"

See also: redirect, redirect_max, redirect_cc, redirect_hash, g_bounce_redirect, g_redirect, g_redirect_cc, g_redirect_from, g_redirect_from_cc, g_redirect_hide, g_redirect_ignore_errors, g_redirect_noautocreate_rules

g_redirect_ignore_errors - Accept email even if redirected addresses fail

We consider this to be faulty behaviour as it will lead to emails vanishing with no bounce, use entirely at your own risk.

Syntax: g_redirect_ignore_errors bool

g_redirect_noautocreate_rules - Don't create redirection rules for domains automatically

This will stop SurgeMail creating redirection rules for new domains such as postmaster,abuse and support

Syntax: g_redirect_noautocreate_rules bool

g_relay_allow_from - Allow relaying for known from addresses

This setting allows users to send outgoing Email if their envelope 'from' address is a known local address. This is a very bad idea in general as spammers can do this too. So in general don't use this setting except as a lesser of two evils.  It will be detected by some open relay checking systems and your site can then end up listed as an open relay.  If this happens your Emails will be rejected by other peoples systems. e.g.

g_relay_allow_from "*@my.domain,*@second.domain,fred@third.domain"

Syntax: g_relay_allow_from string

g_relay_allow_ip - Allow relaying from these users

List the IP ranges of local users that you will allow to send 'OUTGOING' Email without using SMTP authentication, e.g. "127.0.0.1,10.0.*". In the past, mail servers used to permit this from any IP address, but since this was abused by 'spammers' all modern mail servers only allow this from known local IP addresses. Remote users should use 'smtp authentication' or login via POP protocol before sending Email, then SurgeMail will trust them. Do NOT set this to '*' If you do your system will be blocked as it will be assumed that spammers are using your system even if they are not!!! 

Syntax: g_relay_allow_ip string

g_relay_dom_and_ip - Relay based on domain and IP

Allow relaying if the domain in the from envelope and IP address both match.

Syntax: g_relay_dom_and_ip domain=string ip=string

g_relay_ifnot - Accept locally only if not from this ip

This lets you send all email to 'mx' destination, even if the account is local, unless it is coming from a known ip address range.

Syntax: g_relay_ifnot string

g_relay_message - Message to display to users who try to relay

Text string displayed to users who try and relay.

Default (blank) is: "Relaying blocked, read new mail, add <sender.ip> to forwarding or enable smtp authentication in your mail client"

Syntax: g_relay_message string

g_relay_process - Relay process, e.g. testip.exe $WHOIP, return 1 to allow relaying, 0=deny

Allows you to run an external program to lookup an ip address and decide if it is one of your users who should be allowed to relay. This can be used when your users login via some type of shared system so the ip ranges are not known but you do have a way of checking if a user of yours is 'currently' connected on an ip address

Syntax: g_relay_process string

Example: g_relay_process "c:/surgemail/testip.exe $WHOIP"

See also: fallback_relay, lookup_relay_on_from, g_auth_norelay, g_fallback_relay_if_exists, g_from_relay, g_from_relay_white, g_relay_allow_ip, g_relay_allow_from, g_relay_dom_and_ip, g_relay_window, g_relay_window_from, g_relay_to, g_relay_to_user, g_relay_ifnot, g_relay_message, g_smite_skip_relay, g_spf_rewrite_relay

g_relay_to - Relay to this domain from anyone

This setting allows mail from anyone to be relayed to the specified domain. The relaying is unconditional.

Syntax: g_relay_to string

g_relay_to_user - Relay to specific user from anyone

This setting has no further documentation currently available

Syntax: g_relay_to_user string

g_relay_window - Allow relaying after valid POP login

This sets the time after a valid POP login that you will allow a user on the same IP to send outgoing mail. In general it is safe to set this setting large and it can allow people using old mail clients (that do not know how to do SMTP authentication) to still send through your server without making your server an open relay. 

Syntax: g_relay_window int

g_relay_window_from - Requires pop authed user is in from header of sent message

This must be used with g_relay_window, the matching is 'simplistic' and matches on the 'from envelope' but will stop most simple forms of abuse.

Syntax: g_relay_window_from bool

g_rename_files - Files to apply virus renaming to

Only takes effect if g_virus_rename is checked. Default is: "*.exe,*.pif,*.bat,*.com,*.cmd,*.jav,*.vbs,*.scr,*.wsh"

Syntax: g_rename_files string

g_report_host - Report facts to a central host

Not for general use currently

Syntax: g_report_host string

g_report_notspam - Testing internal database(do not use)

Testing myrbl code... still in developement

Syntax: g_report_notspam bool

g_report_spam - Testing internal database(do not use)

Testing myrbl code... still in developement

Syntax: g_report_spam bool

g_responder_delay - Delay between responses to the same address.

This setting has no further documentation currently available

Syntax: g_responder_delay string

g_responder_from - Send 'from' destination user

This improves delivery, but risks loops and other issues.

Syntax: g_responder_from bool

g_responder_safer - Only respond if the sender can be verified in some way (spf/domainkeys)

This setting makes the server less likely to be black listed by accidentally responding to a forged email.

Syntax: g_responder_safer bool

g_responder_utf8 - Send response in utf8 format

Alow utf8 chars in response

Syntax: g_responder_utf8 bool

g_restart - Auto restart server

If turned on Swatch (a spawned second process) checks every 30 seconds to see if the server is still running. If it isn't running but it's pid file still exists (so if it died) this second process restarts the missing server and sends the manager account an Email reporting the fault.

For this to work on NT you need to set Dr Watson NOT to show visual notification of faults:

 This sets Dr Watson to be the default debugger)
         c:/> drwtsn32 /i   
 This brings up the Dr Watson settings, un-tick "Visual Notification"
         c:/> drwtsn32

Generally this setting is not needed and could be left off, but if an odd problem should develop, this setting can give you peace of mind for a few days while you wait for a problem resolution from NetWin. 

Syntax: g_restart bool

g_retry_bounces - Max hours to keep trying to bounce messages

Max hours to keep trying to deliver a bounce the default is 48hrs

Syntax: g_retry_bounces int

g_retry_dns - Hours to keep trying if dns response suggested invalid domain name, default 0

By default, if the DNS server says a domain doesn't exist, the message is immediately bounced so the sending user can take action. In some rare cases this will occur with a valid domain name because the actual DNS of the domain you are sending to is temporarily down. In this situation making SurgeMail retry for 1 hour can prevent these false bounces. I don't recommend this setting as mostly the DNS response and cache etc is very very reliable because SurgeMail keeps a local cache of DNS lookups that worked on disk. So for a failure like this to occur it must be the first time the server has EVER looked up the domain, so the odds are extremely remote. Delaying a useful response to the user for 1 hour just for this remote chance is not wise in my opinion.

Syntax: g_retry_dns int

Example: g_retry_dns "1"

See also: g_dns_paranoid, g_dns_match_msg, g_dns_noptr, g_dns_noptr_skip, g_dns_noptr_msg, g_dns_nocache, g_dns_cache_size, g_dns_system, g_dns_host, g_dns_nlookup, g_dns_require, g_dns_translate, g_dns_old, g_dns_new, g_spf_dns_timeout

g_retry_from - Time to keep messages from these domains

This setting has no further documentation currently available

Syntax: g_retry_from domain=string hours=string

g_retry_limit - Max hours to keep trying to deliver messages

Every hour the mail server will attempt to deliver any messages that fail for a reason that may be a temporary fault (for example the destination mail server doesn't respond). This setting limits how long these retries continue for. The default is 48 hours (2 days). 

Syntax: g_retry_limit int

g_retry_minutes - Time between attempted retries

Time in minutes that SurgeMail will try and resend a message that has failed to be delivered.
(default = 60 minutes).

Syntax: g_retry_minutes int

g_retry_rule - Retry rules overriding g_retry_limit

Rules that allow you to specify the retry_limit in hours on a per destination domain basis.

Example:
g_retry_rule domain="test.com" hours="48"

That will make it keep retrying to send to the domain test.com for 48 hours.

Syntax: g_retry_rule domain=string hours=string

g_retry_unwarn - Send user sent on confirmation if warning sent

This complements the warning setting, so the user can see the message did eventually go through and after how long...

Syntax: g_retry_unwarn bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_retry_warn - Send user a warning if first send fails

I like this setting myself but it can confuse users as the first send attempt will often fail and the user will mis read the bounce and think it's failed completely. It does mean when a message is urgent the user gets told right away, instead of 2 days later, that there is a problem sending the message so for a business it's a nice setting to enable.

Syntax: g_retry_warn bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_retry_warn_n - Send user a warning if nth send fails

Similar to the above setting but this one reduces the false warnings as messasges often fail on the first attempt

Syntax: g_retry_warn_n int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_route - Wildcard route mail to specified server

Route messages matching particular wildcard "from address" and wildcard "to address" to specified server. This is not a gatweay rule and is only applied to mail that has already been accepted via SMTP authentication, relaying rules or gateway rules.

This would typically be used to route all mail for a particular user on a domain to another mailserver or to route all mail from a local domain through another server:

Case 1: Route mail for one user to another server

g_route from="*@*" to="user@localdomain.com" dest="1.2.3.4" user="" pass=""

Case 2: Route all mail from local domain through other server

g_route from="*@localdomain.com" to="*" dest="1.2.3.4" user="" pass=""

g_route_except gets applied allowing you to prevent mail coming in from certain IP addresses to be routed.

Syntax: g_route from=string to=string dest=string user=string pass=string

g_route_by_tohost - Route based on authent 'tohost' field

Use routing to a particular server based on 'tohost' setting in authentication database. This is particularly useful if you have users spread over several physical locations and want to be able to route mail for different users to particular servers.

Syntax: g_route_by_tohost bool

g_route_except - IP exception to g_route and g_route_by_tohost

IP exception to g_route and g_route_by_tohost.

Syntax: g_route_except string

g_route_local - Route messages for local domains if the rule applies

This setting has no further documentation currently available

Syntax: g_route_local bool

g_safe_imap - Force users to prove they are real if logging in from pop/imap

This feature is intended to prevent spamers/hackers from harvesting accounts on your system and then using them to send out spam

Syntax: g_safe_imap bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_safe_smtp - Force users to prove they are real if logging in from unknown sources via smtp

This feature is intended to prevent spamers/hackers from harvesting accounts on your system and then using them to send out spam

Syntax: g_safe_smtp bool

See also: blogs_max_per_user, loginfails, url_blogs, g_acctlog_sum_inactive, g_acctlog_authonly, g_acctlog_noaliases, g_alias_login_disable, g_bad_login_mins, g_bad_login_allow, g_bad_login_ip_allow, g_bad_login_ip_ignore, g_bank_log, g_authent_logall, g_authent_last_login, g_autologin_pop, g_autologin_file, g_autologin_imap_disable, g_blogs_enable, g_blogs_maximum_image_width, g_blogs_maximum_image_size, g_blogs_maximum_items_in_top_page, g_blogs_max_per_user, g_blogs_default_template, g_blogs_use_sub_domains, g_blogs_sub_domain_prefix, g_blogs_not_unique, g_blogs_not_global, g_blogs_no_suffix, g_blogs_ping, g_blogs_domonly, g_blogs_image_optional, g_blogs_allow_links, g_blogs_cleanup_links, g_blogs_comment_rev, g_imap_log_protocol, g_imap_log_flush, g_imap_log_copy, g_imap_log_header, g_imap_log_body, g_last_login, g_last_login_days, g_log_flush, g_log_fwd, g_log_level, g_log_disable, g_log_path, g_log_pid, g_log_thid, g_log_reject_disable, g_log_bounce_disable, g_log_dropped_disable, g_log_tcp_read, g_log_tcp_write, g_log_norcpt, g_log_size, g_log_dns, g_log_slow, g_log_start_norotate, g_log_user, g_log_date, g_log_date_msg, g_log_syslog, g_log_syslog_debug, g_log_syslog_only, g_log_syslog_host, g_msg_log_extra, g_setpassword_firstlogin, g_perflog_disable, g_perflog_flush_interval, g_perflog_lowres, g_perflog_logall, g_perflog_surgeonly, g_smtp_log_protocol, g_smtp_log_size, g_spawn_log, g_spf_debug_log, g_spflog_enable, g_spflog_domains, g_ssl_require_login, g_surgeblog, g_user_blogs, g_user_friends_domain_log_disable, g_user_friends_log_disable, g_surgeweb_logall, g_surgeplus_log_level

g_sample_get - Sample account to check if deliveries work

The idea is to create several accounts on various public mail servers. Then send a test message using a mailing list or g_redirect rule to these test accounts, then use the command tellmail sample_get CODE DELETE to check if the messages have arrived. The first paramter of tellmail sample_get is a code it expects to find in the message headers (or subject) and the second paramter should be the keyword 'delete' if you want it to delete the sample messages.

Syntax: g_sample_get host=string user=string pass=string

g_sample_show - Headers to show from sample messages

Typicall you will list headers that are added by spam filters

Syntax: g_sample_show string

g_scan_action - Converts return value from g_scan_cmd to action on email

Converts return value from g_scan_cmd, action=drop,accept,bounce.

Syntax: g_scan_action code=int action=string reason=string

g_scan_cmd - Run command on message, and return integer

Run command on message, and return integer, see g_scan_action.

Syntax: g_scan_cmd string

g_sched_utoken_timeout - Timeout for sched utokens in minutes

Timeout for sched utokens in minutes. 

Syntax: g_sched_utoken_timeout int

g_send_backoff - Backoff slow hosts

Seconds to leave slow responding host alone (default 900).

Syntax: g_send_backoff int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_body_end_retry - Try again if connection fails after entire body sent

This setting will tend to result in 'duplicate' messages being received, so should not be used, but strictly speaking it is valid to retry in this situation, the trouble is the receiving mail server 'may' have a real copy of the message so may deliver it even though the connection was dropped.

Syntax: g_send_body_end_retry bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_body_noretry - Don't try and resend if failure during body send

By default SurgeMail retries to send messages if the tcp connection is lost during the body send part of sending an email message. In rare situations this may cause problems, for example while sending a large file if the receiving software is faulty and is dieing rather than responding with 'don't try again' error code. This behaviour was reversed before version 2.0h (e.g. it never retried)

Syntax: g_send_body_noretry bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_body_once - Don't try 3 times if failure occurs sending body

This setting disables the new feature where the server tries harder to deliver a message even if it 'might' result in duplicates being delivered.

Syntax: g_send_body_once bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_conspeed - Outgoing connections per second per destination, default is 4

This helps prevent surgemail exceed tarpit throttles common in unix mail servers, adjust at your own risk. This won't generally limit outgoing email speed so you don't need to touch it. A value of '1' means surgemail can make one connection each second.

Syntax: g_send_conspeed int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_delay - Wait this many seconds after sending each item.

This is a simple throttle to limit sending speed to any single domain, a value of 2 seconds is probably reasonable. In general you would also set G_SEND_MAX_PERDOM to 1.

Syntax: g_send_delay int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_first_retry - Minutes for first retry, default is 16 minutes, do not adjust!

It's best not to change this generally, if you set it too low then grey listing may fail, if you set it higher then email is delayed.

Syntax: g_send_first_retry int

See also: send_helo, g_ban_helo, g_gateway_helo, g_helo_optional, g_send_helo, g_send_helo_from, g_send_helo_in, g_verify_helo

g_send_helo - Domain to use for all outgoing SMTP helo commands

Fully qualified domain to use for all outgoing SMTP helo commands.

Syntax: g_send_helo string

See also: send_helo, g_ban_helo, g_gateway_helo, g_helo_optional, g_send_helo_from, g_send_helo_in, g_verify_helo

g_send_helo_from - Use the sending domain for the helo command

If the senders domain name (in return path envelope) is a valid local domain, then it is used in the 'helo' command.

Not generally recommended. The correct use of the helo is to identify the sending machine, not the domain, so although this makes the headers look pretty it doesn't make them more correct in my opinion.

Syntax: g_send_helo_from bool

See also: send_helo, g_ban_helo, g_gateway_helo, g_helo_optional, g_send_helo, g_send_helo_in, g_verify_helo

g_send_helo_in - Lookup dns name of incoming ip connection on local interface

So this is the local ip name it looks up not the remote ip address name.

Syntax: g_send_helo_in bool

See also: send_helo, g_ban_helo, g_gateway_helo, g_helo_optional, g_send_helo, g_send_helo_from, g_verify_helo

g_send_lines - Send single line packets

Send messages in single line packets, slow! (for debugging)

Syntax: g_send_lines bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_lowpriority - Ip address of bulk sending servers

This limits the impact from mailing lists that would otherwise clogg the server and prevent normal individual emails going through quickly

Syntax: g_send_lowpriority string

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_max - Max concurrent sending sessions

Maximum concurrent outgoing SMTP connections . You should not have to change this. The default is 100.

Syntax: g_send_max int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_max_perchan - Msgs to send on one open channel

This may help delivery if a server is incorrectly identifying your server as a spam source. A value of 1-5 would be reasonable

Syntax: g_send_max_perchan int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_max_perdom - Max concurrent sending sessions to a single domain

Maximum concurrent outgoing SMTP connections to a single domain. The default is 2. This can be set higher and the default used to be 6 however there are a few servers out there that don't like more than 2 channels being opened to them.

Syntax: g_send_max_perdom int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_max_rcpt - How many rcpt's to send per message when sending

Default is unlimited, Setting this to a small value like 10 may help some mail servers.

Syntax: g_send_max_rcpt int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_no_domain - Message to show when domain points to us but can't find user or domain

Most useful when using g_authent_always, as this error will be shown to local users when sending to local users that don't exist.

Syntax: g_send_no_domain string

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_nolimit - Don't apply g_max_perdom limit when sending to this domain

Use this on incomng mx severs for the local domain so it can use lots of channels to send the data through.

Syntax: g_send_nolimit string

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_nopoll - Use sleep loop instead of poll (debugging only)

This is to try and find an elusive fault on some systems sending large emails, not for general use

Syntax: g_send_nopoll bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_noskipslow - Don't skip slow hosts

Normally surgemail remembers hosts that are slow to open, fail and doesn't retry for 60 minutes.

Syntax: g_send_noskipslow bool

g_send_onpopfetch - Only send outgoing while doing a POPfetch

Only send outgoing while doing a POPfetch (For dialup use).

Syntax: g_send_onpopfetch bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_open_timeout - SMTP link open timeout

Timeout, in seconds when opening an SMTP link.

Syntax: g_send_open_timeout int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_retry_552 - Retry on 552 responses (typically quota exceeded)

Some faulty hosts return a 552 error when a user is over quota, this means that by the RFC SurgeMail must not try again to deliver the message. However this is clearly not a permanent error and so it's often wise to retry in this situation, This setting makes SurgeMail attempt retries when faced with this odd response.

Syntax: g_send_retry_552 bool

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_rewrite - Rewrite envelope recipient at send stage, does not change destination server

This rewrites the recipient envelope, you can use wild cards, e.g. *@this.domain %1@another.domain, to rewrite 'from' addresses use g_from_rewrite

Syntax: g_send_rewrite was=string to=string

g_send_speed - max outbound bandwidth

Bytes per second to limit each outgoing channel to. eg: 10k

Syntax: g_send_speed int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_conspeed, g_send_delay, g_send_timeout, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_timeout - Send timeout

Timeout, in seconds when sending mail, default is 540 (9 minutes)

Syntax: g_send_timeout int

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_tolimit, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_send_tolimit - Limit speed to send to one or more domains.

Some large providers will assume you are a spammer if you send too many messagse in an hour. If you have a large mailing list it's easy to break these limits, in which case some rules like this can prevent this problem.

Syntax: g_send_tolimit domain=string perhour=int

Example: g_send_tolimit domain="hotmail.com,*hotmail.com" perhour="60"

See also: user_status_send, user_send_max, send_helo, g_footer_send, g_footer_sendonly, g_send_first_retry, g_send_helo, g_send_helo_from, g_send_helo_in, g_send_backoff, g_send_lines, g_send_nopoll, g_send_lowpriority, g_send_max, g_send_max_perchan, g_send_max_perdom, g_send_max_rcpt, g_send_nolimit, g_send_no_domain, g_send_onpopfetch, g_send_retry_552, g_send_rewrite, g_send_noskipslow, g_send_speed, g_send_conspeed, g_send_delay, g_send_timeout, g_send_open_timeout, g_send_body_noretry, g_send_body_end_retry, g_send_body_once, g_user_status_send, g_user_send_max, g_user_send_rule, g_user_send_warning, g_user_send_ip, g_user_send_white

g_server_name - Wildcard "SERVER_NAME" translation for domain identification

The vdomain a user connects on is normally identified automatically for "user account self management" and for "webmail". In the event that the domain name is not the same as the host name (eg hostname = mail.domain.com, domainname = domain.com) the WebMail web server can automatically translate the SERVER_NAME variable.

This setting specifies a wild card list of URLs 'URL' with associated translated host name for "SERVER_NAME". If the URL matches then SERVER_NAME is set to the second part of this setting 'name'. eg: to host the domains domain.com and mail.domain.com on host mail.domain.com:

g_server_name url="*.domain.com" name="domain.com"

Note: If your server name is not the same as your domain name also check the per domain setting URL_host.

Syntax: g_server_name url=string name=string

g_server_stamp - Replaces SurgeMail and version string in "Received" headers

Replaces SurgeMail and version string in Received headers of process mail

Syntax: g_server_stamp string

g_setpassword_firstlogin - Accept any password on first POP login and set in database (EMERGENCY USE ONLY, requires nwauth -reasonfail parameter)

This setting has no further documentation currently available

Syntax: g_setpassword_firstlogin bool

g_share_home - Allow sharing of home directory

This allows sharing of the home directory in the unlikely situation that you might want to run separate surgemail processes. eg one process to cope with SMTP and another to cope with POP access.

Syntax: g_share_home bool

g_share_mail - Allow sharing of mail directory

Set true if mail area is shared (by nfs or other mechanism)

Syntax: g_share_mail bool

g_share_quota - Do quota on disk (e.g. when using nfs shared spool)

Normally SurgeMail keeps track of quota for all users in memory, this is efficient, but means if your are using a shared mail spool the quota figures are completely wrong, so use this setting to make surgemail keep track of quota's on disk, it increases disk load a bit of course but not too much.

Syntax: g_share_quota bool

g_smite_all - Add smite headers to all messages passing through server

Normally SmiteSpam headers are only added for locally delivered messages. This setting to all messages passing through this server. 

Syntax: g_smite_all bool

g_smite_gateway - Add smite headers to gatewayed messages

Normally SmiteSpam headers are only added for locally delivered messages. This setting adds the headers for gatewayed messages too. This also adds headers to messages that are redirected by forward rules as well.

Syntax: g_smite_gateway bool

g_smite_level - Smite level to discard message

If SmiteSpam gives a message a "smite score" above this, throw it awayl. This setting is best never used. If used it should be set to '1 or 2'. A value of 1 = "has been reported", 2 = "has been reported multiple times". If smite match score is above this drop message. This is applied when the user downloads the email not at delivery time.  What you probably want is 'g_spam_bounce' described elsewhere on this page.

Syntax: g_smite_level int

g_smite_skip - Skip smitecrc processing for messages from these domains

This will skip running SmiteCRC for messages whose from address matches these domains. This is the mail from envelope header NOT the from header in the message (you can check the return path header in the message to check what you need to add for this setting).

Note this is a wildcard field so to match any mail claiming to be from safedomain.com you would have to set:

g_smite_skip "*@safedomain.com" 

Syntax: g_smite_skip string

g_smite_skip_auth - Skip spam scanner if user logged in

Skips spam checks and spam header generation for any authenticated local user.

Syntax: g_smite_skip_auth bool

g_smite_skip_ip - Skip smite based on sender IP

Skip smite scanner if sender IP matches this wild card list.

Syntax: g_smite_skip_ip string

g_smite_skip_relay - Skip spam scanner if ip can relay

Skips spam checks and spam header generation for any local user.

Syntax: g_smite_skip_relay bool

g_smite_skip_to - Skip smite based on <to>

Skip smite scanner if to matches this wild card to <address>.

Syntax: g_smite_skip_to string

g_smite_tag - Tag message if in SmiteSpam database

If set to true will tag messages already in the SmiteSpam database.  A value of 1 = "has been reported", 2 = "has been reported multiple times".

Syntax: g_smite_tag bool

g_sms_forward - Specifies IP's which are allowed to forward to SMS gateways

Normally sms gateways are restricted to authenticated users (SMTP authentication) this allows you to specify IP's which can send without authentication. For example you may want your dlist server to send SMS, in which case you might add 127.0.0.1 to this setting.

Syntax: g_sms_forward string

g_sms_gateway - Address and port of your SMS gateway

This is the ip and port of an 'email to sms gateway'. The gateway should accept SMTP messages on this port and convert the email into an sms message then deliver to the phone number in the 'to' address. SMSGate is our 'email to sms gateway' and is FREE with SurgeMail. Setting user_sms to "true" for a domain allows users to specify a phone number (or email address) and rules for when to notify them.

Syntax: g_sms_gateway string

g_sms_gateway_force - Force sms notifications to go to g_sms_gateway

If a user sets their sms number to an email address, perhaps to make use of an existing gateway, then surgemail will send the message to the domain in that address. If you set this you can force the email to go to g_sms_gateway. NOTE: It is possible to configure SMSGate with 'send_mode smtp', 'recv_mode none' and no GSM modem. In this setup it simply reformats messages passing them on to the configured smtp_outserver for delivery as email messages.

Syntax: g_sms_gateway_force bool

g_sms_gateway_msgbytes - Maximum amount of message to send to g_sms_gatway (bytes)

Defines the maximum number of bytes of 'body' text to send to the g_sms_gateway. All headers are sent, then the defined number of bytes of 'body' text. Defaults to 160. May be set larger than the defau