imap — PHP imap_append с BCC

Я работаю с почтовым ящиком для приложения, и после отправки электронного письма я хотел бы добавить его в «отправленный» почтовый ящик и иметь возможность извлекать получателей (to, cc и bcc).

Это прекрасно работает со следующим кодом …

$envelope = imap_mail_compose([
'subject' => 'test',
'from' => 'from@test.fr',
'to' => 'to@test.fr',
'cc' => 'cc@test.fr',
'bcc' => 'bcc@test.fr'
], $body);

imap_append($imap, '{ssl0.ovh.net:xxx/ssl}SENT', $envelope);

…за исключением ОЦК. Если я получаю заголовки электронной почты после добавления, кажется, что нет скрытой копии, тогда как она должна быть! (Я могу получить адреса и копии).

Я не могу найти почему. Я сделал ошибку? Я что-то не так понял?

Редактировать: хорошо, с imap_mail_compose bcc остается невидимым (так почему мы можем добавить параметр «bcc», если он не используется?). Итак, нет способа добавить адреса скрытой копии?

0

Решение

Хорошо, трюк найден.

Я создаю глобальную строку сообщения, используя imap_mail_compose, как показано ниже.

Затем я добавляю адреса СК ​​в эту строку:

// The Bcc string, from an array
$bcc = implode(',', $data['bcc']);

// create the global message string
$envelopeStr = imap_mail_compose($data, $body);

// Appending the Bcc addresses manually
if (!empty($bcc)) {
// Putting the Bcc just before the main recipients
// There will be a "To:" parameter for sure, we could have used "Subject:" too
$pos = strpos($envelopeStr , "To:");
// Adding the string
if ($pos !== false) {
$bccStr = "Bcc: " . $bcc . "\r\n";
$envelopeStr = substr_replace($envelopeStr , $bccStr, $pos, 0);
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector