public sendEmailWithTemplate ( string $from, string $to, integer $templateId, object $templateModel, boolean $inlineCss = true, string $tag = NULL, boolean $trackOpens = true, string $replyTo = NULL, string $cc = NULL, string $bcc = NULL, array $headers = NULL, array $attachments = NULL, string $trackLinks = NULL ) : Postmark\Models\DynamicResponseModel | ||
$from | string | The sender of the email. (Your account must have an associated Sender Signature for the address used.) |
$to | string | The recipient of the email. |
$templateId | integer | The ID of the template to use to generate the content of this message. |
$templateModel | object | The values to combine with the Templated content. |
$inlineCss | boolean | If the template contains an HTMLBody, CSS is automatically inlined, you may opt-out of this by passing 'false' for this parameter. |
$tag | string | A tag associated with this message, useful for classifying sent messages. |
$trackOpens | boolean | True if you want Postmark to track opens of HTML emails. |
$replyTo | string | Reply to email address. |
$cc | string | Carbon Copy recipients, comma-separated |
$bcc | string | Blind Carbon Copy recipients, comma-separated. |
$headers | array | Headers to be included with the sent email message. |
$attachments | array | An array of PostmarkAttachment objects. |
$trackLinks | string | Can be any of "None", "HtmlAndText", "HtmlOnly", "TextOnly" to enable link tracking. |
return | Postmark\Models\DynamicResponseModel |
function sendEmailWithTemplate($from, $to, $templateId, $templateModel, $inlineCss = true, $tag = NULL, $trackOpens = true, $replyTo = NULL, $cc = NULL, $bcc = NULL, $headers = NULL, $attachments = NULL, $trackLinks = NULL)
{
$body = array();
$body['From'] = $from;
$body['To'] = $to;
$body['Cc'] = $cc;
$body['Bcc'] = $bcc;
$body['Tag'] = $tag;
$body['ReplyTo'] = $replyTo;
$body['Headers'] = $this->fixHeaders($headers);
$body['TrackOpens'] = $trackOpens;
$body['Attachments'] = $attachments;
$body['TemplateModel'] = $templateModel;
$body['TemplateId'] = $templateId;
$body['InlineCss'] = $inlineCss;
// Since this parameter can override a per-server setting
// we have to check whether it was actually set.
// And only include it in the API call if that is the case.
if ($trackLinks !== NULL) {
$body['TrackLinks'] = $trackLinks;
}
return new DynamicResponseModel($this->processRestRequest('POST', '/email/withTemplate', $body));
}
function testClientCanSendMailWithTemplate() { $tk = parent::$testKeys; $client = new PostmarkClient($tk->WRITE_TEST_SERVER_TOKEN, $tk->TEST_TIMEOUT); $result = $client->createTemplate('test-php-template-' . date('c'), "{{subject}}", "Hello <b>{{name}}</b>!", "Hello {{name}}!"); $emailResult = $client->sendEmailWithTemplate($tk->WRITE_TEST_SENDER_EMAIL_ADDRESS, $tk->WRITE_TEST_EMAIL_RECIPIENT_ADDRESS, $result->templateid, array("subjectValue" => "Hello!")); $this->assertEquals(0, $emailResult->ErrorCode); }