Zend_Mail و= 0D = 0A = = 3D 3D = = 3D 3D 3D =
-
05-07-2019 - |
سؤال
وأنا أكتب مكتب مساعدة معالج الأنابيب إلى أنابيب رسائل البريد الإلكتروني الواردة كما رد تذكرة مكتب المساعدة. بعض رسائل البريد الإلكتروني تأتي في غرامة تماما، والبعض الآخر يأتي في كما خليط من النص و= في 3D munged جميعا في سلسلة واحدة عملاقة. هل لديها فكرة عن كيفية فك ذلك في نص عادي.
لمرجعية، وهذا هو بلدي وظيفة محلل الإلكتروني:
public function parseEmailMessage(Zend_Mail_Message $msg)
{
if ($msg->isMultiPart()) {
$arrAttachments = array();
$body = '';
// Multipart Mime Message
foreach (new RecursiveIteratorIterator($msg) as $part) {
try {
$mimeType = strtok($part->contentType, ';');
// Parse file name
preg_match('/name="(?<filename>[a-zA-Z0-9.\-_]+)"/is', $part->contentType, $attachmentName);
// Append plaintext results to $body
// All other content parts will be treated as attachments
switch ($mimeType) {
case 'text/plain':
$body .= trim($part->getContent()) . "\n";
break;
case 'text/html':
$body .= trim(strip_tags($part->getContent));
break;
default:
$arrAttachments[] = array(
'attachment_mime' => $mimeType,
'attachment_name' => $this->filterFileName($attachmentName['filename']),
'base64data' => trim($part->getContent())
);
}
} catch (Zend_Mail_Exception $e) {
// ignore
}
}
return array($body, $arrAttachments);
} else {
// Plain text message
return array(trim($msg->getContent()), array());
}
}
المحلول
وأنا سآخذ تخمين بطريقة أو بأخرى لم يتم تحديد نوع المحتوى بشكل صحيح وزند لا يعرف كيفية فك ذلك. وأنا أعلم أنني قد رأيت هذا من قبل، ولكن لا أستطيع أن أتذكر أين أو كيف كان 'حل' عليه.
ويبدو ان نقلت للطباعة يعامل مثل نص عادي.
لا تنتمي إلى StackOverflow