imap içerik sorunu
Merhabalar, imap ile maillerimi almak istiyorum fakat bir kaç hata ile karşılaştım ve çözüm üretemiyorum.
Bu yüzden daha önce yazılmış ve aktif şekilde kullandığınız bir imap class var ise önerirseniz çok sevinirim.
Mail'de ekde bulunan dosyaları indirebileceğim her türlü içeriği karakter sorunu olmadan görebileceğim bir sınıf var mı?
Altta bulunan benim saf fonksiyonları kullanarak yaptığım bir yapı her şeyi alabildim sadece içerik tipi eğer text olarak gelmiyor ise alamıyorum
ve ekdeki dosyaları alamıyorum eğer önerebileceğiniz bir class yok ise bu 2 sorunu çözmemde yardımcı olursanız sevinirim.
// Connect to gmail
$imapPath = '{mail.servisadi.com:110/pop3}INBOX';
$username = '[email protected]';
$password = 'sifre';
$inbox = imap_open($imapPath,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
$emails = imap_search($inbox,'ALL');
for ($i=1; $i < 10;) {
(array)$headerInfo = imap_headerinfo($inbox,$emails[$i]);
$gonderen_adi = imap_mime_header_decode(iconv_mime_decode($headerInfo->from[0]->personal, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8'))[0]->text;
$gonderen_email = $headerInfo->from[0]->mailbox.'@'.$headerInfo->from[0]->host;
$cevap_email = $headerInfo->reply_toaddress;
$gonderi_tarihi = $headerInfo->date;
$konu = imap_mime_header_decode(iconv_mime_decode($headerInfo->subject, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8'))[0]->text;
$overview = imap_fetch_overview($inbox,$emails[$i],0);
$structure = imap_fetchstructure($inbox, $emails[$i]);
print_r($structure);
if(isset($structure->parts) && is_array($structure->parts) && isset($structure->parts[1])) {
$part = $structure->parts[1];
$message = imap_fetchbody($inbox,$emails[$i],2);
switch ($part->encoding) {
# 7BIT
case 0:
# 8BIT
case 1:
$message = quoted_printable_decode(imap_8bit($message));
# BINARY
case 2:
$message = imap_binary($message);
# BASE64
case 3:
$message = imap_base64($message);
# QUOTED-PRINTABLE
case 4:
if ($part->parameters[0]->attribute == 'CHARSET') {
$message = quoted_printable_decode($message);
$message = iconv($part->parameters[0]->value, 'UTF-8', $message);
}else{
$message = '';
}
# OTHER
case 5:
# UNKNOWN
default:
}
}
echo "Gönderen Kişi: ".$gonderen_adi."<br>";
echo "Gönderen E-Posta: ".$gonderen_email."<br>";
echo "Yanıt E-Posta: ".$cevap_email."<br>";
echo "İleti Tarihi: ".$gonderi_tarihi."<br>";
echo "Gönderi Konusu: ".$konu."<br><hr><br>";
echo "Gönderi İçeriği: ".$message."<br><hr><br>";
$i++;
}
imap_expunge($inbox);
imap_close($inbox);
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (0)
Henüz kimse cevap yazmadı. İlk cevap yazan sen ol!