You just need to gather all those subscribe and unsubscribe messages to a couple of folders applying some rules and using the scripts we wrote for adding or deleting addresses from a Mac OS X Mail (or Entourage folder). They are called ‘Adding recipients from Mac OS X Mail’ and ‘Deleting recipients from Mac OS X Mail’ (we also include Entourage and Powermail scripts). Those scripts come with MaxBulk distribution, inside the example/AppleScript/Mac OS X Mail import folder and are also accessible from both the import menu and import button. They are very easy to modify if you need to and automatically process a given Mail folder and take the From and Reply-To headers using their contents to add/remove the addresses from the currently selected MaxBulk list.
Also note that users may have several addresses and sometimes forwards so the e-mail used when replying will not always match the one used for receiving your message. The trick here is to add a [E-mail Address] tag to your unsubscribe link this way:
mailto:[email protected]?Subject=Unsubscribe&Reply-To=[E-mail Address]
The [E-mail Address] will be replaced at delivery time with each recipient address so if one of them decides to unsubscribe the Reply-To header will contain the address you originally used. As my script process this header as well you will be 100% sure that you are removing the right addresses. If you don’t want to use that header just use the subject or the body modifying the script accordingly. An example could be:
If you decide to use the subject:
mailto:[email protected]?Subject=Unsubscribe%20[E-mail Address]
If you decide to use the body
mailto:[email protected]?Subject=Unsubscribe&Body=Unsubscribe%20[E-mail Address]
Note that you should never use spaces inside this URL but ‘%20’ codes to avoid breaking the link on recipient mail reader. Also the first mailto argument is always preceded with a ‘?’ mark and then ‘&’ for the others.
Hope this information will help you build a solid subscription system.
The scripts are available here.