26 $this->mainPart = $mainPart;
27 $this->prepareParts($part, ...$parts);
29 parent::__construct($part, ...$parts);
34 return array_merge([$this->mainPart], parent::getParts());
42 private function generateContentId(): string
44 return bin2hex(random_bytes(16)).
'@symfony';
47 private function prepareParts(
AbstractPart ...$parts): void
49 foreach ($parts as $part) {
50 if (!$part->getHeaders()->has(
'Content-ID')) {
51 $part->getHeaders()->setHeaderBody(
'Id',
'Content-ID', $this->generateContentId());