Skip to content

Commit 91a80eb

Browse files
committed
bug #48313 [Mime] Fix MessagePart serialization
Fixes #48313
1 parent 51cdc3a commit 91a80eb

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

src/Symfony/Component/Mime/Part/MessagePart.php

+13
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,17 @@ public function bodyToIterable(): iterable
5959
{
6060
return $this->message->toIterable();
6161
}
62+
63+
/**
64+
* @return array
65+
*/
66+
public function __sleep()
67+
{
68+
return ['message'];
69+
}
70+
71+
public function __wakeup()
72+
{
73+
$this->__construct($this->message);
74+
}
6275
}

src/Symfony/Component/Mime/Tests/Part/MessagePartTest.php

+10
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,14 @@ public function testHeaders()
3939
new ParameterizedHeader('Content-Disposition', 'attachment', ['name' => 'Subject.eml', 'filename' => 'Subject.eml'])
4040
), $p->getPreparedHeaders());
4141
}
42+
43+
public function testSerialize()
44+
{
45+
$email = (new Email())->from('fabien@symfony.com')->to('you@example.com')->text('content');
46+
$email->getHeaders()->addIdHeader('Message-ID', $email->generateMessageId());
47+
48+
$p = new MessagePart($email);
49+
$expected = clone $p;
50+
$this->assertEquals($expected->toString(), unserialize(serialize($p))->toString());
51+
}
4252
}

0 commit comments

Comments
 (0)