summaryrefslogtreecommitdiffstats
path: root/examples/transmission/send_transmission_all_fields.php
blob: 84dfa9bce271ccba46dfb0c3fb532ecbef53c134 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php

namespace Examples\Transmisson;

require_once dirname(__FILE__).'/../bootstrap.php';

//pull in API key config
$configFile = file_get_contents(dirname(__FILE__).'/../example-config.json');
$config = json_decode($configFile, true);

use SparkPost\SparkPost;
use GuzzleHttp\Client;
use Ivory\HttpAdapter\Guzzle6HttpAdapter;

$httpAdapter = new Guzzle6HttpAdapter(new Client());
$sparky = new SparkPost($httpAdapter, ['key' => $config['api-key'], 'timeout' => 0]]);

$data = file_get_contents('/path/to/test.csv');

try {
    $results = $sparky->transmission->send([
        'campaign' => 'my-campaign',
        'metadata' => [
            'sample_campaign' => true,
            'type' => 'these are custom fields',
        ],
        'substitutionData' => [
            'name' => 'Test Name',
        ],
        'description' => 'my description',
        'replyTo' => 'reply@test.com',
        'customHeaders' => [
            'X-Custom-Header' => 'Sample Custom Header',
        ],
        'trackOpens' => false,
        'trackClicks' => false,
        'sandbox' => false,
        'inlineCss' => true,
        'transactional' => true,
        'startTime' => '2016-03-17T08:00:00-04:00',
        'from' => [
            'name' => 'From Envelope',
            'email' => 'from@sparkpostbox.com',
        ],
        'html' => '<p>Hello World! Your name is: {{name}}</p>',
        'text' => 'Hello World!',
        'subject' => 'Example Email: {{name}}',
        'recipients' => [
            [
                'address' => [
                    'email' => 'john.doe@example.com',
                ],
            ],
        ],
        'attachments' => [
            [
                'type' => 'text/csv',
                'name' => 'testing.csv',
                'data' => base64_encode($data),
            ],
        ],
        'inlineImages' => [
            [
                'type' => 'image/png',
                'name' => 'cid-name',
                'data' => base64_encode($data),
            ],
        ],
    ]);

    echo 'Congrats! You sent an email using SparkPost!';
} catch (\Exception $exception) {
    echo $exception->getAPIMessage()."\n";
    echo $exception->getAPICode()."\n";
    echo $exception->getAPIDescription()."\n";
}