gcgov / bulk-email
接入集中式批量邮件管理器
v1.3.2
2024-05-22 16:27 UTC
Requires
- php: >=8.1
- andrewsauder/json-deserialize: ^2.5
- guzzlehttp/guzzle: ^7.0
- monolog/monolog: ^3.4
README
内部应用程序可以通过此包通过订阅的渠道生成批量邮件,也可以通过批量邮件队列发送单个邮件。
安装
composer require gcgov/bulk-email
API 配置
在调用库中的任何方法之前,请定义 API URL 和您的访问令牌。
\gcgov\framework\services\bulkEmail\config::setApiUrl( 'https://bulkemailapi.example.com' ); \gcgov\framework\services\bulkEmail\config::setApiAccessToken( '{jwt}' );
调试日志
要启用调试日志,请在使用库之前添加以下行。
\gcgov\framework\services\bulkEmail\config::setDebugLogging( true ); \gcgov\framework\services\bulkEmail\config::setDebugLogPath( 'C:/inetpub/logs' );
保存并订阅电子邮件地址到频道
此方法将所有提供的电子邮件地址订阅到所有提供的频道 ID。如果提供的电子邮件地址已有频道订阅,现有订阅将保持不变,并将新提供的频道添加为额外的订阅。如果提供的电子邮件地址已订阅提供的频道,用户将继续订阅该提供的频道,并将新提供的频道添加为额外的订阅。
// messageToChannel( string[] $emailAddresses, string[] $channelIds=[] ) \gcgov\framework\services\bulkEmail\bulkEmail::messageToChannel( ['jdoe@garrettcounty.org'], [ '64f1e3a45d0afbf5408370cc' ] );
向频道订阅者发送批量邮件
此方法将相同的消息排队到订阅特定频道的所有电子邮件地址。
实际邮件发送由 批量邮件 API 处理,可能会根据消息优先级和发送限制而延迟。
$message = new \gcgov\framework\services\bulkEmail\models\messageToChannel(); //wrap $message->message with this template $message->template = \gcgov\framework\services\bulkEmail\models\template::countyTemplate2023; //if the brand heading should use department information, specify the id of the department to use. To use a generic leave null) //$message->sendingDepartmentId = '{departmentId}'; //send this message to all subscribers to this channel $message->channelId = '{channelId}'; //email subject line $message->subject = 'Subject'; //email html body - do not use full $message->message = '<div>HTML message body</div>'; //a reference to the event/item that generated this message $message->reference = 'website.article.id=1'; //send \gcgov\framework\services\bulkEmail\bulkEmail::messageToChannel( $message );
发送单个邮件
要发送单个邮件,请使用 bulkEmail::messageToEmail()
$message = new \gcgov\framework\services\bulkEmail\models\messageToEmail(); //wrap $message->message with this template $message->template = \gcgov\framework\services\bulkEmail\models\template::countyTemplate2023; //if the brand heading should use department information, specify the id of the department to use. To use a generic leave null) //$message->sendingDepartmentId = '{departmentId}'; //send this message to these email addresses $message->to = ['jdoe@garrettcounty.org']; //email subject line $message->subject = 'Subject'; //email html body - do not use full $message->message = '<div>HTML message body</div>'; //a reference to the event/item that generated this message $message->reference = 'payments.receipt.id=1'; //send \gcgov\framework\services\bulkEmail\bulkEmail::messageToEmail( $message );