PHP Classes

File: README

Recommend this page to a friend!
  Classes of giuseppe lucarelli   pop3ml   README   Download  
File: README
Role: Documentation
Content type: text/plain
Description: very simple readme file
Class: pop3ml
Manage mailing lists using a POP3 account
Author: By
Last change: made some text changes
Date: 14 years ago
Size: 7,572 bytes
 

Contents

Class file image Download
Pop3ml Php Mailinglist/Newsletter manager ========================================== Version 0.2.beta (April 09 2010) This is a php script class to manage Mailing lists without a local smtp server. You need only a simple pop3 mail account. It works with php5 and mysql => 4. It's highly configurable by users. You can subscribe/unsubscribe simply with mail messages. There is optional subscription/unsubscription confirmation, subscription moderation, message moderation, digest message mode, parent/children list management, mail scheduling to postpone a message, mail filter (procmail-like syntax), message queue for unsent emails, message size check, command to retrieve messages, bounce detection, message header management, black/white list, multi rcpt-to smtp command and others functions. There is also a program to test list settings without sending any message. You can configure it with programs like phpMyAdmin or, if you prefer with 'goshweb', another php program developed by myself. Installation: please refer to INSTALL file. ADMINISTRIVIA: ------------------- MAILING LIST SUBSCRIPTION: send a message to ML address, without subject and with body text: subscribe If ML is configured with subscribe confirmation, you will receive an email message to validate your request. Reply to continue subscription. If you want to subscribe with digest mode: subscribe.digest you can change 'subscribe' word with any other word or, if you want a more complex detection, you can use a regexp expression, for example changing the value of '[[:SUBSCRIBE=subscribe:]]' message of 'language' field ('mltable' record) to: [[:SUBSCRIBE=(\s+|)(i|)(\s+|)subscribe:]] in this way you can do a subscribe request with both "subscribe" and "i subscribe" body text MAILING LIST UNSUBSCRIPTION: send a message to ML address, without subject and with body text: unsubscribe If ML is configured with unsubscribe confirmation, you will receive an email message to validate your request. Reply to continue unsubscription. If you want to unsubscribe from digest mode: unsubscribe.digest CHANGING SUBSCRIPTION MODE: send a message to ML address, without subject and with body text: toggle If ML is configured with subscribe confirmation, you will receive an email message to validate your request. Reply to confirm your request. CHANGING/SETTING SUBSCRIBER PASSWORD FOR WEB ACCESS TO MESSAGES ARCHIVE: send a message to ML address, without subject and with body text: password NewPassword OldPassword where 'password' is the request command, 'NewPassword' is the new value, and 'OldPassword' is the initial value set at subscription time, space separed. Please don't use 'space', 'carriage return','tab','line feed' or other special characters for password value. MAILING LIST MESSAGE MODERATION: if moderator(s) reply to e-mail messages received from ML, they will be delivered to all subscribers, otherwise they will be removed later (depending on field defined at the beginning of the class 'EXPIRE_MSG_MOD') RETRIEVE MESSAGES FROM ML: send a message to ML address, without subject and body text: get [message(s) number(s)] for example: get 1 to retrieve message number 1 get 1,2,3 to retrieve messages 1,2 and 3 get 1,2,5-10,11 to retrieve messages 1,2, from 5 to 10 and 11 GET HELP MESSAGE FROM ML: send a message to ML address, without subject and body text: help SEND AN EMAIL MESSAGE TO ML OWNER: send a message to ML address, without subject and body text: notify owner RETRIEVE LIST SCHEDULED MESSAGES send a message to ML address, without subject and body text: scheduled list REMOVE A SCHEDULED MESSAGS send a message to ML address, without subject and body text: drop scheduled [messageid] for example: drop scheduled 102 -------------------------- Parent/Children management: this script can manage parent/children ML recursively. You can have, for example, some list with subscribers, and one or more ML child list. if you add a ML list name (child ML) to another ML (parent ML) subscribers list, all posted messages to parent ML will be delivered to all children subscribers email addresses (eventually child ML). you can have, for example, some ML: listname listaddress subscribers list denysublist allowsublist parentlist -------- ----------- ---------------- ----------- ------------ ---------- sample1 sample1@domain.com sample1user1@gmail.com mainlist,sample4 sample1user2@yahoo.com sample2 sample2@otherdomain.com sample2user1@mailserver.com mainlist sample2user2@gmail.com sample2user3@yahoo.com sample3 sample3 sample3@bsmc.it sample3user1@mailserver.com mainlist and a parent list: mainlist mainlist@mail.com mainlistuser1@gmail.com mainlistuser2@yahoo.com *@buyit.com .*@somedom.org sample1 sample2 if you send a message to 'mainlist', it will be delivered to: mainlistuser1@gmail.com mainlistuser2@yahho.com sample1user1@gmail.com sample1user2@yahoo.com sample2user1@mailserver.com sample2user2@gmakl.com sample2user3@yahoo.com sample3user1@mailserver.com (because 'sample3' list is set as 'sample2' child) all users can post to other lists and parent too, due to 'parentlist' setting BOUNCE EMAIL ------------ the script checks if received emails are bounced messages from smtp servers, to avoid an infinite loop from sender and ML manager. it also notify all bounced emails to ML owner and remove associated queued messages. anyway if you put an email header value into 'headerchange' field (ie. 'Return-Path: listowner@someserver.com' or 'Return-Path:') when an email fails to reach the destination address it will be bounced to this address, not to ML. for more security i have added the chance to use another php script class, 'BounceHandler', more complex then mine. if you have almost one public list (post allowed for everyone) it's better to use it, just pay attention to memory usage. download it from phpclasses repository (http://www.phpclasses.org/browse/file/11665.html) and put it into your pop3ml installation folder. if there is some kind of unrecognized bounced email you can add some procmail-like recipes to 'mailfilter' field (refer to INSTALL file). SCHEDULED EMAIL --------------- if you want to use extra header for mail scheduling, with mozilla thunderbird use following instructions: # Select Edit | Preferences or Thunderbird | Preferences... from the menu in Mozilla Thunderbird. # Open the Advanced category. # Go to the General tab. # Click Config Editor.... # Enter "mail.compose.other.header" (not including the quotation marks) under Filter:. # Double-click mail.compose.other.header. # Enter the desired custom headers in the Enter string value dialog. (ie. "X-Scheduled") # restart thunderbird CHANGELOG See ChangeLog.txt Download: http://www.bsmc.it/ftp/programs/php/pop3ml-0.1.beta.tgz Giuseppe Lucarelli giu.lucarelli@gmail.com Enjoy!