==[[PhplistDocumentation phplist Documentation]] » [[PhplistInstallation Installation]] » Experimental Features== ---- == Email address validation level == For background information on how and why phpList checks validity of email addresses read [[PhpListEmailValidation this]] %%(php) # 0 = No email address validation. So PHPList can be used as a non-email-sending registration system. # 1 = 10.4 style email validation. # 2 = RFC821 email validation without escaping and quoting of local part. # 3 = RFC821 email validation. # This is an expirimental email address validation based on the original RFC. It will validate all kind # of 'weird' emails like !#$%&'*+-/=.?^_`{|}~@example.com and escaped\ spaces\ are\ allowed@[1.0.0.127] # not implemented are: # Length of domainPart is not checked # Not accepted are CR and LF even if escaped by \ # Not accepted is Folding # Not accepted is literal domain-part (eg. [1.0.0.127]) # Not accepted is comments (eg. (this is a comment)@example.com) # Extra: # topLevelDomain can only be one of the defined ones define("EMAIL_ADDRESS_VALIDATION_LEVEL",2); %% ==List exclude== %%(php) # list exclude will add the option to send a message to users who are on a list # except when they are on another list. # this is currently marked experimental define("USE_LIST_EXCLUDE",0); %% ==Admin authentication module== %%(php) # admin authentication module. # to validate the login for an administrator, you can define your own authentication module # this is not finished yet, so don't use it unless you're happy to play around with it # if you have modules to contribute, send them to phplist2@tincan.co.uk # the default module is phplist_auth.inc, which you can find in the "auth" subdirectory of the # admin directory. It will tell you the functions that need to be defined for phplist to # retrieve it's information. # phplist will look for a file in that directory, or you can enter the full path to the file # eg #$admin_auth_module = 'phplist_auth.inc'; # or #$admin_auth_module = '/usr/local/etc/auth.inc'; %% ==Stacked attribute selection== %%(php) # stacked attribute selection # this is a new method of making a selection of attributes to send your messages to # to start with, it doesn't seem to work very well in Internet Explorer, but it works fine # using Mozilla, Firefox, Opera (haven't tried any other browsers) # so if you use IE, you may not want to try this. # stacked attribute selection allows you to continuously add a selection of attributes # to your message. This is quite a bit more powerful than the old method, but it can also # cause very complex queries to be constructed that may take too long to calculate # If you want to try this, set the value to 1, and give us feedback on how it's going # if you want to use dates for attribute selections, you need to use this one define("STACKED_ATTRIBUTE_SELECTION",0); %% ==Send a webpage== %%(php) # send a webpage. You can send the contents of a webpage, by adding # [URL:http://website/file.html] as the content of a message. This can also be personalised # for users by using eg # [URL:http://website/file.html?email=[email]] # the timeout for refetching a URL can be defined here. When the last time a URL has been # fetched exceeds this time, the URL will be refetched. This is in seconds, 3600 is an hour # this only affects sending within the same "process queue". If a new process queue is started # the URL will be fetched the first time anyway. Therefore this is only useful is processing # your queue takes longer than the time identified here. define('REMOTE_URL_REFETCH_TIMEOUT',3600); %% ==Mailqueue auto-throttle== %%(php) # Mailqueue autothrottle. This will try to automatically change the delay # between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over # MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period # and then waiting for the next period. This only works with mailqueue_throttle off # it still needs tweaking, so send your feedback to mantis.tincan.co.uk if you find # any issues with it define('MAILQUEUE_AUTOTHROTTLE',0); %% ==Click tracking== %%(php) # Click tracking # If you set this to 1, all links in your emails will be converted to links that # go via phplist. This will make sure that clicks are tracked. This is experimental and # all your findings when using this feature should be reported to mantis # for now it's off by default until we think it works correctly define('CLICKTRACK',0); # Click track, list detail # if you enable this, you will get some extra statistics about unique users who have clicked the # links in your messages, and the breakdown between clicks from text or html messages. # However, this will slow down the process to view the statistics, so it is # recommended to leave it off, but if you're very curious, you can enable it define('CLICKTRACK_SHOWDETAIL',0); %% ==Domain throttling== %%(php) # Domain Throttling # You can activate domain throttling, by setting USE_DOMAIN_THROTTLE to 1 # define the maximum amount of emails you want to allow sending to any domain and the number # of seconds for that amount. This will make sure you don't send too many emails to one domain # which may cause blacklisting. Particularly the big ones are tricky about this. # it may cause a dramatic increase in the amount of time to send a message, depending on how # many users you have that have the same domain (eg hotmail.com) # if too many failures for throttling occur, the send process will automatically add an extra # delay to try to improve that. The example sends 1 message every 2 minutes. define('USE_DOMAIN_THROTTLE',0); define('DOMAIN_BATCH_SIZE',1); define('DOMAIN_BATCH_PERIOD',120); %% ==Domain auto-throttle== %%(php) # if you have very large numbers of users on the same domains, this may result in the need # to run processqueue many times, when you use domain throttling. You can also tell phplist # to simply delay a bit between messages to increase the number of messages sent per queue run # if you want to use that set this to 1, otherwise simply run the queue many times. A cron # process every 10 or 15 minutes is recommended. define('DOMAIN_AUTO_THROTTLE',0); %% ==Admin language== %%(php) # admin language # if you want to disable the language switch for the admin interface (and run all in english) # set this one to 0 define('LANGUAGE_SWITCH',1); %% ==Advanced bounce processing== %%(php) # advanced bounce processing # with advanced bounce handling you are able to define regular expressions that match bounces and the # action that needs to be taken when an expression matches. This will improve getting rid of bad emails in # your system, which will be a good thing for making sure you are not being blacklisted by other # mail systems # if you use this, you will need to teach your system regularly about patterns in new bounces define('USE_ADVANCED_BOUNCEHANDLING',0); %% ==Spam block== Since version 2.10.4 you can use the experimental spam block setting to detect spam bots. %%(php) # add spamblock # if you set this to 1, phplist will try to check if the subscribe attempt is a spambot trying to send # nonsense. If you think this doesn't work, set this to 0 # this is currently only implemented on the subscribe pages define('USE_SPAM_BLOCK',1); # notify spam # when phplist detects a possible spam attack, it can send you a notification about it # you can check for a while to see if the spam check was correct and if so, set this value # to 0, if you think the check does it's job correctly. # it will only send you emails if you have "Does the admin get copies of subscribe, update and unsubscribe messages" # in the configuration set to true define('NOTIFY_SPAM',1); %%