Confirm Subscription

You are subscribing to my email newsletter. Click the link below to confirm:


{CONFIRMLINK}"; } if(!isset($GLOBALS['MAILSUB_REGULAR'])){ $GLOBALS['MAILSUB_REGULAR']="

This is my email newsletter. Edit your subscription


"; } if(!isset($GLOBALS['MAILSUB_WELCOME'])){ $GLOBALS['MAILSUB_WELCOME']="

Welcome

You have subscribed to my email newsletter. Edit your subscription below:


{EDITSUBSCRIPTION}"; } if(!isset($GLOBALS['MAILSUB_EDIT'])){ $GLOBALS['MAILSUB_EDIT']="

Edit Subscription

Unsubscribe my newsletter: CONFIRM


"; } if(!isset($GLOBALS['MY_HOST'])){ $GLOBALS['MY_HOST']="https://www.example.com"; } $PENDING=[]; $ACCEPTED=[]; $f = fopen("pending_confirm.php",'r'); $tries=0; while(!$f && $tries<100){ $f = fopen("pending_confirm.php",'w'); fclose($f); $tries++;} $f=0; $content = file_get_contents("pending_confirm.php"); $f = fopen("all_subscribers.php",'r'); $tries=0; while(!$f && $tries<100){ $f = fopen("all_subscribers.php",'w'); fclose($f); $tries++;} $f=0; $subscribers = file_get_contents("all_subscribers.php"); if(preg_match_all("/(.*)\s+?\[\[\[(.*)\]\]\]\s*?(zh|en|)/",$content,$matches,PREG_SET_ORDER)){ foreach($matches as $m){ $PENDING[]=[$m[1],$m[2],$m[3]]; } } if(preg_match_all("/(.*)\s+?\[\[\[(.*)\]\]\]\s*?(zh|en|)/",$subscribers,$matches,PREG_SET_ORDER)){ foreach($matches as $m){ $ACCEPTED[]=[$m[1],$m[2],$m[3]]; } } if(isset($_GET['subscribe']) && isset($_POST['email_subscribe_name'])){ if(preg_match("/^((?!\.)[\w\-_.]*[^.])(@\w+)(\.\w+(\.\w+)?[^.\W])$/",$_POST['email_subscribe_name'])){ $item=[uniqid(),$_POST['email_subscribe_name'],'en']; $PENDING[]=$item; send_verification($item[0],$_POST['email_subscribe_name']); }else{ echo "Not a valid email."; } $tries=0; while(!$f && $tries<100){ $f = fopen("pending_confirm.php",'w'); $tries++; } fwrite($f,"Couldn't confirm your subscription."; exit; } $tries=0; while(!$f && $tries<100){ $f = fopen("all_subscribers.php",'w'); $tries++; } fwrite($f,"Successfully subscribed"; } if(isset($_GET['unsubscribe'])&&isset($_GET['id'])){ if(!isset($_GET['doit'])){ $link="{$GLOBALS['MY_HOST']}/mailsub.php?unsubscribe={$_GET['unsubscribe']}&doit=1&id={$_GET['id']}"; $body=preg_replace("/\{UNSUBSCRIBE\}/",$link,$GLOBALS['MAILSUB_EDIT']); echo $body; exit; } $any=0; foreach(array_values($ACCEPTED) as $key=>$p){ if($p[0]==$_GET['id'] && $_GET['unsubscribe']==$p[1]){ unset($ACCEPTED[$key]); $any=1; } } if(!$any){ echo "

Unknown error

"; exit; } $tries=0; while(!$f && $tries<100){ $f = fopen("all_subscribers.php",'w'); $tries++; } fwrite($f,"Successfully unsubscribed"; } function send_email($to,$subject,$body){ try { global $mail; global $mailconf; //Server settings //$mail->SMTPDebug = SMTP::DEBUG_SERVER; //Enable verbose debug output $mail->isSMTP(); //Send using SMTP $mail->Host = $mailconf['host']; //Set the SMTP server to send through $mail->SMTPAuth = true; //Enable SMTP authentication $mail->Username = $mailconf['username']; //SMTP username $mail->Password = $mailconf['password']; //SMTP password $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Enable implicit TLS encryption $mail->Port = 587; //TCP port to connect to; use 587 if you have set `SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS` //Recipients $mail->setFrom($mailconf['from'], $mailconf['name']); $mail->addAddress($to); //Content $mail->isHTML(true); //Set email format to HTML $mail->Subject = $subject; $mail->Body = $body; $mail->send(); return null; } catch (Exception $e) { echo "Message could not be sent."; #Mailer Error: {$mail->ErrorInfo}"; return -1; } } function send_verification($id,$address){ $addressencode=urlencode($address); $link="{$GLOBALS['MY_HOST']}/mailsub.php?confirm=$addressencode&id=$id"; $body=preg_replace("/\{CONFIRMLINK\}/",$link,$GLOBALS['MAILSUB_CONFIRM']); if(!send_email($address,"Confirm Subscription",$body)){ echo "Please check your inbox for confirmation e-mail."; }else{ echo "Error sending email."; } } function send_welcome($id,$address){ $addressencode=urlencode($address); $link="{$GLOBALS['MY_HOST']}/mailsub.php?unsubscribe=$addressencode&id=$id"; $body=preg_replace("/\{EDITSUBSCRIPTION\}/",$link,$GLOBALS['MAILSUB_WELCOME']); send_email($address,"Welcome!",$body); }