Skip to content

Commit

Permalink
[Mailer] Make sure you can pass custom headers to Mailgun
Browse files Browse the repository at this point in the history
  • Loading branch information
Nyholm authored and nicolas-grekas committed Jan 4, 2020
1 parent 14f27cf commit 59271d9
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
20 changes: 20 additions & 0 deletions Tests/Transport/MandrillApiTransportTest.php
Expand Up @@ -13,6 +13,9 @@

use PHPUnit\Framework\TestCase;
use Symfony\Component\Mailer\Bridge\Mailchimp\Transport\MandrillApiTransport;
use Symfony\Component\Mailer\Envelope;
use Symfony\Component\Mime\Address;
use Symfony\Component\Mime\Email;

class MandrillApiTransportTest extends TestCase
{
Expand Down Expand Up @@ -41,4 +44,21 @@ public function getTransportData()
],
];
}

public function testCustomHeader()
{
$email = new Email();
$email->getHeaders()->addTextHeader('foo', 'bar');
$envelope = new Envelope(new Address('alice@system.com'), [new Address('bob@system.com')]);

$transport = new MandrillApiTransport('ACCESS_KEY');
$method = new \ReflectionMethod(MandrillApiTransport::class, 'getPayload');
$method->setAccessible(true);
$payload = $method->invoke($transport, $email, $envelope);

$this->assertArrayHasKey('message', $payload);
$this->assertArrayHasKey('headers', $payload['message']);
$this->assertCount(1, $payload['message']['headers']);
$this->assertEquals('foo: bar', $payload['message']['headers'][0]);
}
}
2 changes: 1 addition & 1 deletion Transport/MandrillApiTransport.php
Expand Up @@ -111,7 +111,7 @@ private function getPayload(Email $email, Envelope $envelope): array
continue;
}

$payload['message']['headers'][] = $name.': '.$header->toString();
$payload['message']['headers'][] = $name.': '.$header->getBodyAsString();
}

return $payload;
Expand Down

0 comments on commit 59271d9

Please sign in to comment.