feat(email): implement secure unsubscribe link generator and email helper integration

This commit is contained in:
essae 2025-05-24 20:06:33 -04:00
parent cf146973f2
commit 5ec5195d89
1 changed files with 18 additions and 0 deletions

View File

@ -11,6 +11,8 @@ namespace WizdomNetworks\WizeWeb\Utilities;
use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception; use PHPMailer\PHPMailer\Exception;
use WizdomNetworks\WizeWeb\Services\TokenService;
use WizdomNetworks\WizeWeb\Services\UnsubscribeTokenService;
class EmailHelper class EmailHelper
{ {
@ -154,4 +156,20 @@ class EmailHelper
return ''; return '';
} }
} }
/**
* Generate a secure unsubscribe link for a subscriber email.
*
* @param string $email
* @return string
*/
public static function buildUnsubscribeLink(string $email): string
{
$ts = time();
$tokenService = new TokenService();
$unsubscribeTokenService = new UnsubscribeTokenService($tokenService);
$sig = $unsubscribeTokenService->generate($email, $ts);
return $_ENV['APP_URL'] . "/unsubscribe?email=" . urlencode($email) . "&ts=$ts&sig=$sig";
}
} }