Jump to content

Newsletter Subscription Confirmation


ruaridhc

Recommended Posts

I've got the newsletter module working well, with emails being sent when a person subscribes. However, I'm wondering how I might have the email contain a link that requires the subscriber to click it to CONFIRM that they wish to subscribe.

I'm concerned that it is too easy for someone to type a 3rd parties email address in the subscription block, and then they are listed on our newsletter subscription list. Most other sites I've seen require a confirmation.

I've never done this before, so i'm not even sure how I'd start to investigate it.

Thanks in advan

Link to comment
Share on other sites

I am interested in a feature like this also... I was going to post a thread about this, but glad you beat me to the punch.

Although, I am looking for something slightly different... I think a confirmation link for newsletter subscriptions might not convert too well. In my opinion, I think less people will actually go through the extra step of confirming their subscription even it they were the ones who signed up for it. I think it would be a good idea to include a "Unsubscribe" link within each (and every) email sent using the newsletter module... so those who receive emails that they they didn't sign up for can unsubscribe, and those who actually signed up still receive emails without having to complete an extra step.

Any help on an "unsubscribe" link within the emails would be much appreciated.

Thanks!

Link to comment
Share on other sites

  • 1 month later...
I am interested in a feature like this also... I was going to post a thread about this, but glad you beat me to the punch.

Although, I am looking for something slightly different... I think a confirmation link for newsletter subscriptions might not convert too well. In my opinion, I think less people will actually go through the extra step of confirming their subscription even it they were the ones who signed up for it. I think it would be a good idea to include a "Unsubscribe" link within each (and every) email sent using the newsletter module... so those who receive emails that they they didn't sign up for can unsubscribe, and those who actually signed up still receive emails without having to complete an extra step.

Any help on an "unsubscribe" link within the emails would be much appreciated.

Thanks!


I am also interested in this.

The main problem is that law now requires to show that a person has subscribed and give them the possibility to logon and aunsubscribe, without being on a customer database.

I think that Prestashop also thinks this to be a vital option in modules.

Thanks
Link to comment
Share on other sites

If they have a previous relationship with you, and they do, being a customer of your shop, it is not considered spam if you send them a newsletter.

Now, We send out a newsletter for one of our sites, not a Prestashop site, though, and we use SendBlaster. It adds an unsubscribe link to the bottom of the email. It adds a mailto link that sends an email to an address we setup to handle the unsubscribes.

Unsubscribe
If you don't want to receive our emails, please unsubscribe.



I have written a script to parse the IMAP mailbox to take the unsubscribes and remove them from the subscriber list.

It is very simple to add a mailto link to your newsletter templates and I can share my IMAP scripts (modified) if you'd like.

Link to comment
Share on other sites

  • 2 months later...
If they have a previous relationship with you, and they do, being a customer of your shop, it is not considered spam if you send them a newsletter.

Now, We send out a newsletter for one of our sites, not a Prestashop site, though, and we use SendBlaster. It adds an unsubscribe link to the bottom of the email. It adds a mailto link that sends an email to an address we setup to handle the unsubscribes.
Unsubscribe
If you don't want to receive our emails, please unsubscribe.



I have written a script to parse the IMAP mailbox to take the unsubscribes and remove them from the subscriber list.

It is very simple to add a mailto link to your newsletter templates and I can share my IMAP scripts (modified) if you'd like.



Can you post your IMAP script and a guide so we can use this script?
Thanks a lot!
Link to comment
Share on other sites

I hope this is all you need. You need to set up a cron job to run it every day or so. This way, it will always run and delete spam, too.


Note: that you need to make sure that the mailto in your unsubscribe is EXACTLY like I show below or it won't work.

You CAN NOT use imap_fetch_overview and use the FROM value because not all servers send the email address in the FROM and the headers sometimes don't have it either.

<?php
/*
*  Script to handle IMAP messages for newsletter unsubscribes
*  messages MUST have user's email address in subject like this:
*  
*  unsubscribe | [email protected]
*
*  ALL OTHER MESSAGES WILL BE DELETED FROM THE MAIL BOX.
*
*  So, what I do is make sure that the unsubscribe link in my newsletter
*  has the subject in it like this:
* 
*  mailto:[email protected]?subject=unsubscribe | [email protected]
*
*
*/  

 /**************  The below are configurable variables **************/
 // If POP3 mailbox, change imap to pop3 in next line
 $mailhost = "{localhost/imap/ssl/novalidate-cert}";
 // this is your unsubscribe address
 $mailuser="[email protected]";
 // mailbox password
 $mailpass = "mail_password";
 // db hostname
 $db_hostname = "localhost";
 // db user name
 $db_username = "db_user";
 // db password
 $db_password = "db_pwd";
 // database name
 $database = "store_db";
 // column to update in table ps_customer
 // can be newsletter or optin column
 $column = 'newsletter';
 /**************  The above are configurable variables **************/


 $debug=false;

 if($_GET['debug'] == 'yes') {
   $debug = true;
   ini_set('output_buffering', 'Off');
   ob_start();
 }
 // connect to the DB 
 $db_conn = @mysql_connect($db_hostname, $db_username, $db_password);
 mysql_select_db($database, $db_conn) or die("Can't connect to db:".mysql_error());


 showProgressMsg('Opening Mailbox');

 $mailbox=imap_open($mailhost,$mailuser,$mailpass) or die("Couldn't open mailbox ".imap_last_error());
 $search  = "UNSEEN";
 $result2 = imap_search($mailbox, $search);
 if($result2) {
   $index = $result2[0];
   $result = imap_fetch_overview($mailbox, $index);
   foreach ($result as $overview) {

     // get the from address from the subject (I set the subject in the mailto link, see above)
     $email = trim(substr($overview->subject, strpos($overview->subject, '|')+1));
     showProgressMsg($email);
     // 
     // Mark the newsletter column to false for the specified email address
     // There is also an optin column that says if the customer ihas opted in to the newsletter.
     // maybe that should be used, I don't know.
     //
     $sql = "UPDATE `ps_customer` SET `$column` = 0 WHERE `email` = '$email'";
     mysql_query($sql, $db_conn) or die("Can't set newsletter value:".mysql_error());
   }

   showProgressMsg('Setting \Seen Flag');
   imap_setflag_full($mailbox, "$index", "\Seen");

   showProgressMsg('Deleting Message from:'.$email);
   // Now mark the message for deletion
   imap_delete($mailbox, "$index") or die("can't delete: ".imap_last_error()); 
 } // if($result2)

 // This clears out the deleted messages
 imap_expunge($mailbox);

 // Close the mailbox
 imap_close($mailbox);  

 // close DB connection
 mysql_close($db_conn);

 if($debug) {
   // flush output
   ob_flush();
   flush();
   ob_end_clean();
   ini_set('output_buffering', 4096);
 } // if($debug)

function showProgressMsg($msg) {
 global $debug;
 if($debug) {
   echo $msg."
";
   ob_flush();
     flush();
   usleep(2500);
 } // if($debug)
} // function showProgressMsg($msg)

?>

Link to comment
Share on other sites

  • 5 months later...

Hello Everyone,

Can anyone share this module if completed please???

I am really killing myself to get this work for me. It has been 2 weeks and all I could do is to save the emails to the CSV file however my module doesnt send email back about any confirmation or even that they subscribed - thanks email.

Can you please share the module if you could work it on. I would so much appreciate it.

I am really looking forward to hearing any help.

Thanks and best regards.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...