function Message::getPreparedHeaders
1 method overrides Message::getPreparedHeaders()
- DraftEmail::getPreparedHeaders in vendor/
symfony/ mime/ DraftEmail.php - Override default behavior as draft emails do not require From/Sender/Date/Message-ID headers. These are added by the client that actually sends the email.
File
-
vendor/
symfony/ mime/ Message.php, line 72
Class
- Message
- @author Fabien Potencier <fabien@symfony.com>
Namespace
Symfony\Component\MimeCode
public function getPreparedHeaders() : Headers {
$headers = clone $this->headers;
if (!$headers->has('From')) {
if (!$headers->has('Sender')) {
throw new LogicException('An email must have a "From" or a "Sender" header.');
}
$headers->addMailboxListHeader('From', [
$headers->get('Sender')
->getAddress(),
]);
}
if (!$headers->has('MIME-Version')) {
$headers->addTextHeader('MIME-Version', '1.0');
}
if (!$headers->has('Date')) {
$headers->addDateHeader('Date', new \DateTimeImmutable());
}
// determine the "real" sender
if (!$headers->has('Sender') && \count($froms = $headers->get('From')
->getAddresses()) > 1) {
$headers->addMailboxHeader('Sender', $froms[0]);
}
if (!$headers->has('Message-ID')) {
$headers->addIdHeader('Message-ID', $this->generateMessageId());
}
// remove the Bcc field which should NOT be part of the sent message
$headers->remove('Bcc');
return $headers;
}