One-click unsubscribe

 
From: "Alan Hysinger" <originalgeek@PROTECTED>
Date: April 2nd 2010
Hi, I'm totally new to the list, so if I am in need of a clue, just speak up.  I have no idea of any etiquette out here, and I am a very direct person.

I wanted to provide my users with a single-click unsubscribe option.  I have received some emails from angry users who don't understand the multi-step unsubscribe process, or worse, the unsubscribe confirmation gets moved to their spam folder.  Additionally, almost all of these people are my customers, who after graciously spending money in my store and opting in, decide they want to opt out.  I really want that to be as easy as possible for them.

I thought I was going to be able to implement a single-click unsubscribe simply by putting <!-- tmpl_var list_unsubscribe_link --><!-- tmpl_var subscriber.pin --> as the unsubscribe link in the mailing templates. Unfortunately, it did not work because Dada checks to see if a confirmation was first requested, and issues this error:

Problems with Unsubscribing!

The unsubscription confirmation did not complete correctly. This may be because:
  • You've attempted to unsubscribe to a list (even when using a valid pin), without first asking for a confirmation.
I found it easy to circumvent the check for a confirmation by commenting out this code in Subscriptions.pm::unsub_confirm and the unsubscribe request successfully removed the subscriber from the list.

# My last check - are they currently on the UNsubscription confirmation list?! # if($lh->check_for_double_email(-Email => $email,-Type => 'unsub_confirm_list') == 0){ # $status = 0; # $errors->{not_on_unsub_confirm_list} = 1; # warn ' $errors->{not_on_unsub_confirm_list} set to 1' # if $t; # } # else { warn 'removing, ' . $email . ' from unsub_confirm_list' if $t; my $rm_status = $lh->remove_subscriber( { -email => $email, -type => 'unsub_confirm_list' } ); # }

Anyway, I was thinking it would be a good feature to have this configurable via the administrative UI, or perhaps in Config.pm. Obviously, I have a selfish motive: I don't want to patch every update to Dada, or worse, forget to patch an update. If this feature is deemed acceptable, I am willing to put in some time coding some patches. Not to get too far ahead of myself, but I would need some pointers at what perl files to look at for managing configuration options. The code is beautifully clean, which enabled me to kludge in my feature in under 5 minutes, but the storage of config settings from the UI didn't jump out at me. Putting the option in Config.pm would be very simple, however I have some love for Dada and I wouldn't mind putting in the time to "do it up right".

Kind Regards,
Alan Hysinger

Post:
mailto:[list_settings.discussion_pop_email]

Unsubscribe:
https://dadamailproject.com/cgi-bin/dada/mail.cgi/u/dadadev/example/example.com/

List Information:
[PROGRAM_URL]/list/[list_settings.list]

Archive:
[PROGRAM_URL]/archive/[list_settings.list]

Developer Info:
http://dev.dadamailproject.com

  • This mailing list is a public mailing list - anyone may join or leave, at any time.
  • This mailing list is a group discussion list (unmoderated)
  • Start a new thread, email: dadadev@dadamailproject.com

This is the developer discussion mailing list for Dada Mail.

If you are just looking for support Dada Mail, consult the message boards at:

https://forum.dadamailproject.com

Documentation for Dada Mail:

https://dadamailproject.com/d

Specifically, see the Error FAQ:

https://dadamailproject.com/d/FAQ-errors.pod.html

To post to this list, send a message to:

mailto:dadadev@dadamailproject.com

All subscribers of this list may post to the list itself.

Topics that are welcome:

  • Constructive critiques on the program (I like, "x", but, "y" needs some work - here's an idea on how to make this better...)
  • Bug/Error reports
  • Bug fixes
  • Request For Comments on any changes to the program
  • Help customizing Dada Mail for your own needs
  • Patches
  • Language Translations
  • Support Documentation/Doc editing, FAQ's, etc.
  • Discussion of any changes that you would like to be committed to the next version of Dada Mail -

Dada Mail is on Github:

https://github.com/justingit/dada-mail/

If you would like to fork, branch, send over PRs, open up issues, etc.

Privacy Policy:

This Privacy Policy is for this mailing list, and this mailing list only.

Email addresses collection through this mailing list are used explicitly to work within this email discussion list.

We only collect email addresses through our Closed-Loop Opt-In system.

We don't use your email address for any other purpose.

We won't be sharing your email address with any other entity.

Unsubscription can be done at any time. Please contact us at: justin@dadamailproject.com for any help regarding your subscription, including removal from the mailing list.

All mailing list messages sent from us will include a subscription removal link, which will allow you to remove yourself from this mailing list automatically, and permanently.

All consent to use your email address for any other purpose stated at the time of the mailing list subscription will also be revoked upon mailing list removal.