for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace NotificationChannels\MailLift;
use DateTime;
class MailLiftMessage
{
/** @var string */
protected $body;
protected $sender;
/** @var string|null */
protected $scheduledDelivery;
/**
* @param string $body
*
* @return static
*/
public static function create($body)
return new static($body);
}
public function __construct($body)
$this->body = $body;
* Set the letter message body.
* @param $body
* @return $this
public function body($body)
return $this;
* Set the letter message sender.
* @param $sender
public function sender($sender)
$this->sender = $sender;
* Set the scheduled delivery date.
* @param string|DateTime $scheduledDelivery
public function scheduleDelivery($scheduledDelivery)
if (! $scheduledDelivery instanceof DateTime) {
$scheduledDelivery = new DateTime($scheduledDelivery);
$this->scheduledDelivery = $scheduledDelivery->format('Y-m-d');
* @return array
public function toArray()
return [
'MessageBody' => $this->body,
'Sender' => $this->sender,
'ScheduledDelivery' => $this->scheduledDelivery,
];