Gmail IMAP e-posta İçeriği Bozuk

2 Cevap php

Ben kişileri ve izlemek için biz PHP yerleşik bir özel web tabanlı iletişim yönetimi sistemine sahip son zamanlarda iletişim iletişim yönetim sistemi ise, daha sonra IMAP kullanarak bizim Google e-posta kutusunu kontrol ve başlangıç:

  1. O kişi ile ilişkili bir MySQL veritabanı tabloya mesajı kopyalama
  2. O gün ile takip bu kişiyi işaretleme
  3. Gmail'de mesajı arşivleme

Her şey harika çalışıyor görünüyor, HARİÇ ... biz bu gibi görünüyor gerçekten bozuluyor mesaj alıyorum her öylesine çok e-posta:

FABRRRQAUUUUAJXDjxZrUtzNFa2UMwjYj5YnYgZ74Ndwa4bwfzqmpH3/wDZjTcl CnKdr2Fa7SJP+Ek8S/8AQJX/AMB5P8aZN4s162j33GmxxrnG54XUfqa6ysHxp/yA/wDtqv8AWuej jFUqKDgtSpQsr3L13r4tPDcOoShBcTxgog6FiP5CsrwtpjuzavekvcTZKFuwPf8AH+VZOlwS+Iby 1jlBFnZRKhGeDjt9Sf0Fd0qhVCqAABgA

Ben geri dönüp mesajını kontrol ve sadece metin gibi görünüyor, bu yüzden bir görüntü olduğunu düşünmüyorum. Nasıl bunu önlemek için herhangi bir fikir?

Şimdiden teşekkürler.

Saygılarımızla,

James

2 Cevap

Bu base64 şifreli olduğu gibi sağlanan örnek görünüyor. E-posta iletisinin başlıkları e-posta iletisinin içeriği işlemek için nasıl anlatacağım.

Örneğin, aşağıdaki gövde düz metin bir e-posta mesajı tanımlar, ama base64 kodlanmış olarak depolanır. Ben "x" gizlilik hassas bilgilerin dışarı ed var.

Received: from xxxxxxxxx ([xxx.xx.xx.xxx]) by xxxxxxxxxx.xxx.xxxxxxxxxxxxxxx.xxx with Microsoft SMTPSVC(6.0.3790.3959);
     Wed, 29 Apr 2009 21:29:16 +0000
Received: from xxxx-xxx-xxxxxx ([xxx.xx.xxx.xxxx]) by xxxxxxxx ; Wed, 29 Apr 2009 15:29:16
 -0600
Message-ID: <AADB29A7-AAED-4068-B4A8-300E3B0D93AB@localhost>
MIME-Version: 1.0
From: xxxxxxxxxx@xxxxxxxxxxxxxxx.com
To: xxxxxxxxxx@xxxxxxxxxxxxxxx.com
Date: 29 Apr 2009 15:29:16 -0600
Subject: xxxx Account Update
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
Return-Path: xxxxxx@xxxxxxxx.com
X-OriginalArrivalTime: 29 Apr 2009 21:29:16.0374 (UTC) FILETIME=[8C63AF60:01C9C911]

Content-Type ve Content-Transfer-Encoding başlıklarına dikkat edin.

Ben IMAP SSL üzerinden olduğuna inanıyorum, bu yüzden sync alır IMAP bağlantı olabilir. Bunun için var en iyi çözüm sadece vücut gerçekten uzun bir sözcüğü içerir olmadığını görmek için kontrol edilir. Bu saptırmak boşluk olduğundan:

<?php
function wordlength($txt, $limit)
{
   $words = explode(' ', $txt);

   foreach($words as $v)
   {
       if(strlen($v) > $limit)
       {
            return false;
       }
   }

   return true;
}
?>

Kullanımı:

<?php

$txt = "Message Body would be here";

if(!wordlength($txt, 45))
{
    //maybe try to pull the message again or
    //send an email to you telling you there is a problem
}

?>

Bazı bir e-posta kelimesini Pneumonoultramicroscopicsilicovolcanoconiosis kullanır durumda sadece 45 aldı. : D

Ürdün olsa doğru olabilir. Sadece base64 şifreli olabilir. Ben sadece o) (başlıklarını patlayabilir ve bunun için arama ve var ise, basit bir base64_decode () hile yapacak olacaktır.