Obsługa e-maili w php

0

Cześć,
szukałem w necie obsługę maili w php, tzn, chciałbym wyświetlić listę Inbox, Sent, Drafts, Junk, oraz Trash, móc wysłać maila (to już mam), wyświetlić pojedynczego maila wraz z załącznikami (wystylizowane mam, ale chodzi o backend w php), przenosić maile do kosza itd., dokładnie szukałem obsługę imap w php, smtp (co do smtp ogarnąłem temat użyłem biblioteki PHPMailera, aczkolwiek z imapem mam problem).

Za pomoc byłbym wdzięczny
KrisKros

0

Użyłem takiego kodu php

<?php
$mbox = imap_open("{mail.adreserwera.pl:993}INBOX", "username", "password")
     or die("can't connect: " . imap_last_error());

$MC = imap_check($mbox);

// Fetch an overview for all messages in INBOX
$result = imap_fetch_overview($mbox,"1:{$MC->Nmsgs}",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
imap_close($mbox);
?>

A wyskakuje mi taki błąd:

Warning: imap_open(): Couldn't open stream {mail.adreserwera.pl:993}INBOX in /sciezka/do/pliku/imap.php on line 3
can't connect: [CLOSED] IMAP connection broken (server response)
Notice: Unknown: [CLOSED] IMAP connection broken (server response) (errflg=2) in Unknown on line 0

I nie wiem co zrobić a na porcie 143 w kodzie php wyskakuje mi cos takiego

Warning: imap_open(): Couldn't open stream {mail.adreserwera.pl:143}INBOX in /sciezka/do/pliku/imap.php on line 3
can't connect: Certificate failure for mail.adreserwera.pl: Server name does not match certificate: /OU=Domain Control Validated/OU=PositiveSSL/CN=adreserwera.pl
Notice: Unknown: Certificate failure for mail.adreserwera.pl: Server name does not match certificate: /OU=Domain Control Validated/OU=PositiveSSL/CN=adreserwera.pl (errflg=2) in Unknown on line 0

1

Już z tym sobie poradziłem, z tym błędem.
Tutaj musiałem dodać /imap/ssl/novalidate-cert,

$mbox = imap_open("{mail.adreserwera.pl:993}INBOX", "username", "password") 

czyli

$mbox = imap_open("{mail.adreserwera.pl/imap/ssl/novalidate-cert:993}INBOX", "username", "password") 
0

Natomiast mam inny problem...
co oznacza taki błąd?
Notice: Unknown: Invalid quoted-printable sequence: =utf-8
Content-Transfer-Encoding: quoted-printable

Client Configuration setti (errflg=3) in Unknown on line 0

0

Nie wiem czy jeszcze aktualne, ale jako że jestem w temacie, bo robie obsługę wielu mailboxów z poziomu jednego systemu.

$mbox - wiadomo
$msgno - chyba tez
$section - 1 plain, 2 html

$message_body = trim( utf8_encode( quoted_printable_decode( imap_fetchbody( $mbox, $msgno, $section ) ) ) );

0

Jeżeli używasz kodowania "quoted-printable"

Content-Transfer-Encoding: quoted-printable

to koduj wiadomość email w tym standardzie, a nie innym.

I tak w ogóle to już lepiej użyć kodowania base64, od dawna tego używam i wszelkie dane binarne czy to w bazie czy emailach przechodzą bez problemu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1