for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Nip\Mail\MessageBuilder;
use Symfony\Component\Mime\Address;
trait MessageProxy
{
/**
* Dynamically call the default driver instance.
*
* @param array $parameters
* @return mixed
*/
public function __call(string $method, $parameters)
return $this->message->$method(...$parameters);
}
* Set the subject of the message.
* @param string $subject
* @return $this
public function subject($subject)
$this->message->subject($subject);
return $this;
public function addTo(...$addresses)
$this->addAddresses($addresses, 'to');
* @param $addresses
* @param $type
protected function addAddresses($addresses, $type): self
$method = 'add'.ucfirst($type);
$method
$addresses = $this->addressesToArray($addresses);
$this->message->$type(...$addresses);
* @return Address[]
protected function addressesToArray($addresses): array
if (1 === count($addresses)) {
return [new Address($addresses[0])];
if (2 === count($addresses)) {
return [new Address($addresses[0], $addresses[1])];
$result = [];
foreach ($addresses as $address) {
$result[] = Address::create($address);
return $result;