Как мне устранить эту ошибку, используя PEAR (php) для обработки писем от Microsoft Entourage и почтового клиента iPhone - PullRequest
0 голосов
/ 09 ноября 2011

Я нахожусь в процессе написания сценария, который будет обрабатывать входящие электронные письма и сохранять содержимое в базе данных.Я использую несколько методов PEAR для обработки входящих сообщений и анализа от, до, subj и тела письма.Кажется, что это работает в большинстве случаев, но есть что-то в письмах, отправленных из Microsoft Entourage (почтовый клиент для Mac), которые нарушают извлечение основной части письма.Странно то, что электронные письма, отправленные из моей школьной учетной записи с помощью Entourage, обрабатываются отлично, электронные письма, отправленные с моей учетной записи Gmail с помощью веб-клиента Gmail, обрабатываются отлично, однако электронные письма, отправленные с моей учетной записи Gmail с помощью Entourage, анализируют только от, до,и точно.Тело письма теряется ...

edit: выясняется, что проблема существует и с почтой Gmail из почтового клиента iPhone.Это проблема MIME или не MIME?

Пожалуйста, ознакомьтесь с моим кодом и поделитесь всем, что вы можете знать.

Спасибо!

#!/usr/local/bin/php -q
<?php 

//the following includes needed full path included b/c of local install of PEAR 
INCLUDE('pear/share/pear/Mail.php');
INCLUDE('pear/share/pear/Mail/mime.php');
REQUIRE_ONCE('pear/share/pear/Mail/mimeDecode.php');

$fd = FOPEN("php://stdin", "r");
$email = "";
WHILE (!FEOF($fd)) {
$email .= FREAD($fd, 1024);
}
FCLOSE($fd);



$params['include_bodies'] = TRUE;
$params['decode_bodies']  = TRUE;
$params['decode_headers'] = TRUE;

$message=NEW Mail_mimeDecode($email);
$mailObj=$message->decode($params);

// Who is it from
$from=$mailObj->headers['from'];
//who is it to
$to=$mailObj->headers['to'];
// Get Subject
$subj=$mailObj->headers['subject'];
// Get Message Body
$body=$mailObj->parts[0]->body;
$gather="From:$from\nSubject:$subj\nBody:$body";

отсюда переменные $ from, $ to и $ subj устанавливаются соответствующим образом.$ body пусто в случае писем, отправленных из Entourage, хотя ...

...