feat(email): implement secure unsubscribe link generator and email helper integration
This commit is contained in:
parent
cf146973f2
commit
5ec5195d89
|
|
@ -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";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue