Create mailBody with only attachments part present
This commit is contained in:
parent
85827f32e4
commit
b500f92921
@ -423,12 +423,12 @@ class Email extends Message
|
||||
*/
|
||||
private function generateBody(): AbstractPart
|
||||
{
|
||||
if (null === $this->text && null === $this->html) {
|
||||
throw new LogicException('A message must have a text and/or an HTML part.');
|
||||
[$htmlPart, $attachmentParts, $inlineParts] = $this->prepareParts();
|
||||
if (null === $this->text && null === $this->html && !$attachmentParts) {
|
||||
throw new LogicException('A message must have a text or an HTML part or attachments.');
|
||||
}
|
||||
|
||||
$part = null === $this->text ? null : new TextPart($this->text, $this->textCharset);
|
||||
[$htmlPart, $attachmentParts, $inlineParts] = $this->prepareParts();
|
||||
if (null !== $htmlPart) {
|
||||
if (null !== $part) {
|
||||
$part = new AlternativePart($part, $htmlPart);
|
||||
@ -442,7 +442,11 @@ class Email extends Message
|
||||
}
|
||||
|
||||
if ($attachmentParts) {
|
||||
if ($part) {
|
||||
$part = new MixedPart($part, ...$attachmentParts);
|
||||
} else {
|
||||
$part = new MixedPart(...$attachmentParts);
|
||||
}
|
||||
}
|
||||
|
||||
return $part;
|
||||
|
@ -284,6 +284,10 @@ class EmailTest extends TestCase
|
||||
$e->html('html content');
|
||||
$this->assertEquals(new MixedPart($html, $att), $e->getBody());
|
||||
|
||||
$e = new Email();
|
||||
$e->attach($file);
|
||||
$this->assertEquals(new MixedPart($att), $e->getBody());
|
||||
|
||||
$e = new Email();
|
||||
$e->html('html content');
|
||||
$e->text('text content');
|
||||
|
Reference in New Issue
Block a user