Skip to content

Commit 093c23a

Browse files
author
Daniel Zahariev
committed
Add support for Configuration set and Message tags; Fix #50
1 parent 5fe5cae commit 093c23a

File tree

5 files changed

+676
-423
lines changed

5 files changed

+676
-423
lines changed

.gitignore

Whitespace-only changes.

README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,38 @@ $m->addAttachmentFromFile('logo.png','path/to/logo.png','application/octet-strea
116116

117117
```
118118

119+
### Configuration Set and Message Tags
120+
```php
121+
<?php
122+
123+
// Set the configuration set
124+
$m->setConfigurationSet('myConfigurationSet');
125+
126+
// Reset the configuration set
127+
$m->setConfigurationSet(null);
128+
129+
130+
// Set message tag
131+
$m->setMessageTag('key', 'value');
132+
133+
// Get message tag
134+
$tag = $m->getMessageTag('key');
135+
136+
// Remove message tag
137+
$m->removeMessageTag('key');
138+
139+
// Set message tags in bulk - performs merge with current tags
140+
$m->setMessageTags(array('key1' => 'value1', 'key2' => 'value2'));
141+
142+
// Get message tags
143+
$tags = $m->getMessageTags();
144+
145+
// Remove all message tags
146+
$m->removeMessageTags();
147+
148+
```
149+
150+
119151
### Sending Bulk Messages
120152
When hundreds of emails have to be sent in bulk it's best to use the Bulk mode which essentially reuses a CURL handler and reduces the number of SSL handshakes and this gives a better performance.
121153

@@ -183,6 +215,16 @@ $ses->sendEmail($m, $use_raw_request, $trigger_error);
183215

184216

185217
### Changelog
218+
v.0.9.1
219+
- Added support for AWS SES Configuration Sets and Message Tags
220+
- Added caching mechanism in `SimpleEmailServiceMessage` to speed up bulk sending mode
221+
222+
v.0.9.0
223+
- Add parameter for raw message encoding
224+
225+
v.0.8.9
226+
- Merge pull request 32 from hlev/remove-to-requirement
227+
186228
v.0.8.8
187229

188230
- Issues fixed: #24, #25, #30, #31

src/SimpleEmailService.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
*
4747
* @link https://github.com/daniel-zahariev/php-aws-ses
4848
* @package AmazonSimpleEmailService
49-
* @version v0.8.9
49+
* @version v0.9.1
5050
*/
5151
class SimpleEmailService
5252
{
@@ -381,7 +381,13 @@ public function sendEmail($sesMessage, $use_raw_request = false , $trigger_error
381381
$action = !empty($sesMessage->attachments) || $use_raw_request ? 'SendRawEmail' : 'SendEmail';
382382
$ses_request->setParameter('Action', $action);
383383

384+
// Works with both calls
385+
if (!is_null($sesMessage->configuration_set)) {
386+
$ses_request->setParameter('ConfigurationSetName', $sesMessage->configuration_set);
387+
}
388+
384389
if($action == 'SendRawEmail') {
390+
// https://docs.aws.amazon.com/ses/latest/APIReference/API_SendRawEmail.html
385391
$ses_request->setParameter('RawMessage.Data', $sesMessage->getRawMessage());
386392
} else {
387393
$i = 1;
@@ -441,6 +447,13 @@ public function sendEmail($sesMessage, $use_raw_request = false , $trigger_error
441447
$ses_request->setParameter('Message.Body.Html.Charset', $sesMessage->messageHtmlCharset);
442448
}
443449
}
450+
451+
$i = 1;
452+
foreach($sesMessage->message_tags as $key => $value) {
453+
$ses_request->setParameter('Tags.member.'.$i.'.Name', $key);
454+
$ses_request->setParameter('Tags.member.'.$i.'.Value', $value);
455+
$i++;
456+
}
444457
}
445458

446459
$ses_response = $ses_request->getResponse();

0 commit comments

Comments
 (0)