%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/vendor/async-aws/ses/src/ValueObject/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/vendor/async-aws/ses/src/ValueObject/Message.php |
<?php
namespace AsyncAws\Ses\ValueObject;
use AsyncAws\Core\Exception\InvalidArgument;
/**
* The simple email message. The message consists of a subject and a message body.
*/
final class Message
{
/**
* The subject line of the email. The subject line can only contain 7-bit ASCII characters. However, you can specify
* non-ASCII characters in the subject line by using encoded-word syntax, as described in RFC 2047.
*
* @see https://tools.ietf.org/html/rfc2047
*/
private $subject;
/**
* The body of the message. You can specify an HTML version of the message, a text-only version of the message, or both.
*/
private $body;
/**
* @param array{
* Subject: Content|array,
* Body: Body|array,
* } $input
*/
public function __construct(array $input)
{
$this->subject = isset($input['Subject']) ? Content::create($input['Subject']) : null;
$this->body = isset($input['Body']) ? Body::create($input['Body']) : null;
}
public static function create($input): self
{
return $input instanceof self ? $input : new self($input);
}
public function getBody(): Body
{
return $this->body;
}
public function getSubject(): Content
{
return $this->subject;
}
/**
* @internal
*/
public function requestBody(): array
{
$payload = [];
if (null === $v = $this->subject) {
throw new InvalidArgument(sprintf('Missing parameter "Subject" for "%s". The value cannot be null.', __CLASS__));
}
$payload['Subject'] = $v->requestBody();
if (null === $v = $this->body) {
throw new InvalidArgument(sprintf('Missing parameter "Body" for "%s". The value cannot be null.', __CLASS__));
}
$payload['Body'] = $v->requestBody();
return $payload;
}
}