Files
dev-chiefworks 47f4fad75c Added Other AP
2022-04-26 11:30:34 -04:00

59 lines
1.4 KiB
PHP

<?php
require './vendor/autoload.php';
use \SendGrid\Mail\To;
use \SendGrid\Mail\Mail;
use \SendGrid\Mail\From;
use \SendGrid\Mail\HtmlContent;
use \SendGrid\Mail\Personalization;
class SendGridService {
public static function sendEmail($email) {
global $savvyext;
$apiKey = $savvyext->cfgReadChar('mailsend.api_key');
$sg = new \SendGrid($apiKey);
$response = $sg->send($email);
return $response;
}
public static function prepareSengridToObject($receiver = [], $substitutions = NULL) {
return new \SendGrid\Mail\To(
$receiver['email'],
$receiver['firstname'] ?? '',
$substitutions ?? NULL
);
}
public static function prepareEmail($receivers, $subject, $template, $globalSubstitutions) {
global $savvyext;
$fromEmail = $savvyext->cfgReadChar('mailsend.from');
$fromName = $savvyext->cfgReadChar('mailsend.name');
$email = new Mail(
new From($fromEmail, $fromName),
NULL,
$subject, // or array of subjects, these take precendence
$plainTextContent ?? NULL,
new HtmlContent($template),
$globalSubstitutions ?? NULL
);
foreach($receivers as $receiver) {
$personalization = SendGridService::createPersonalize($receiver);
$email->addPersonalization($personalization);
}
return $email;
}
public static function createPersonalize($to) {
$personalize = new Personalization();
$personalize->addTo($to);
return $personalize;
}
}