19declare(strict_types=1);
31 foreach ($mail_value_objects as $mail_value_object) {
33 $mail_data[
'from'] = $mail_value_object->getFrom();
34 $mail_data[
'recipients'] = $mail_value_object->getRecipients();
35 $mail_data[
'recipients_cc'] = $mail_value_object->getRecipientsCC();
36 $mail_data[
'recipients_bcc'] = $mail_value_object->getRecipientsBCC();
37 $mail_data[
'attachments'] = $mail_value_object->getAttachments()->toBackgroundTask();
38 $mail_data[
'body'] = $mail_value_object->getBody();
39 $mail_data[
'subject'] = $mail_value_object->getSubject();
40 $mail_data[
'is_using_placholders'] = $mail_value_object->isUsingPlaceholders();
41 $mail_data[
'should_save_in_sent_box'] = $mail_value_object->shouldSaveInSentBox();
43 $records[] = $mail_data;
46 return json_encode($records, JSON_THROW_ON_ERROR);
55 $array = json_decode($json,
true, 512, JSON_THROW_ON_ERROR);
57 foreach ($array as $object_values) {
59 $object_values[
'from'],
60 $object_values[
'recipients'],
61 $object_values[
'recipients_cc'],
62 $object_values[
'recipients_bcc'],
63 ilStr::strLen($object_values[
'subject']) > 255 ? ilStr::substr($object_values[
'subject'], 0, 255) : $object_values[
'subject'],
64 $object_values[
'body'],
66 $object_values[
'is_using_placholders'],
67 $object_values[
'should_save_in_sent_box']
76 if (is_string($attachments)) {
77 return MailAttachments::fromBackgroundTask($attachments);
80 if (is_array($attachments)) {
81 return MailAttachments::fromLegacyFilenames($attachments);
84 return MailAttachments::empty();
convertFromJson(string $json)
attachmentsFromJson(mixed $attachments)
convertToJson(array $mail_value_objects)
static strLen(string $a_string)