я использую быстрый почтовик для отправки электронных писем и функции imap_append для копирования сообщения в отправленную папку. Настройки папки IMAP правильно работают с учетными записями Yahoo и Hotmail.
Когда сообщения отправляются с использованием учетной записи SMTP и IMAP учетной записи Gmail, две копии хранятся в папке «Отправленные» отправителя.
Это код IMAP, который я использую:
$imapHostString = $mailSettings['imapServer'];
$imapHostString .= ($mailSettings['imapServerPort'] == 143)
? ":143": ":{$mailSettings['imapServerPort']}/imap/ssl/novalidate-cert";
$mbox = imap_open('{' . $imapHostString . '}INBOX', $mailSettings['username'], $password);
imap_append($mbox, '{' . $imapHostString . '}' . $mailSettings['sentDirectoryName'], $message->toString() . "\r\n");
imap_close($mbox);
Почему это происходит?
Есть ли какие-либо настройки Gmail, которые нужно сделать?
Это происходит потому, что Gmail автоматически копирует сообщения, отправленные через SMTP-сервер, в папку «Отправленные» отправителя, а Yahoo и Hotmail этого не делают, и, следовательно, требуют, чтобы вы скопировали сообщение вручную.
Кроме попыток определить, когда SMTP-сервер является сервером Google, я не знаю ни одного способа обнаружить эту ситуацию. Было бы хорошо, если бы SMTP-сервер сообщал вам, например, что он собирается это сделать.
Других решений пока нет …