|
Posted by gezerpunta on 04/21/07 10:14
Hi
I used pear api to make this mail but I can t add multipart.My mail
structure is like that.
part 1: a file
part 2: multipart
part 1: a file
part 2: a file
Content-Type: multipart/related; boundary="----
=_Part_1130_31345073.1112689804895"; type="text/xml";
start="31518250.1112689804903.apache-soap.edison1"
Content-Length: 2062
SOAPAction: "urn:mm7DeliverReq"
------=_Part_1130_31345073.1112689804895
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-ID: <31518250.1112689804903.apache-soap.edison1>
Content-Length: 888
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<mm7:TransactionID SOAP-ENV:mustUnderstand="1" xmlns:mm7="http://www.
3gpp.org/ftp/Specs/archive/23_series/23.140/schema/REL-5-
MM7-1-2">644087003@mms.turkcell.com.tr</mm7:TransactionID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<mm7:DeliverReq xmlns:mm7="http://www.3gpp.org/ftp/Specs/archive/
23_series/23.140/schema/REL-5-MM7-1-2">
<MM7Version>5.3.0</MM7Version><LinkedID>738609503@mms.turkcell.com.tr</
LinkedID><Subject>Alo</Subject><Sender><Number>05322101678</Number></
Sender><Recipients><To><Number>280</Number></To></
Recipients><TimeStamp>2005-04-05T11:30:04Z</
TimeStamp><Priority>Normal</Priority></mm7:DeliverReq>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
------=_Part_1130_31345073.1112689804895
Content-Type: multipart/related; boundary="----
=_Part_6520_3402311.1112689804772"
------=_Part_6520_3402311.1112689804772
Content-Type: application/smil; name=main.smil; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-ID: <AAAA>
<smil><head><layout><root-layout backgroundColor="#FFFFFF" background-
color="#FFFFFF" height="480px" width="640px"/>
<region id="Image" top="0" left="0" height="50%" width="100%"
fit="meet"/>
<region id="Text" top="50%" left="0" height="50%" width="100%"
fit="meet"/>
</layout>
</head>
<body><par dur="4000ms"><text src="smil.txt" region="Text"><param
name="foreground-color" value="#000000"/>
</text>
</par>
</body>
</smil>
------=_Part_6520_3402311.1112689804772
Content-Type: text/plain; name=smil.txt; charset=utf-8
Content-Transfer-Encoding: 7bit
Content-Location: smil.txt
Alo
------=_Part_6520_3402311.1112689804772--
------=_Part_1130_31345073.1112689804895--
I searched and test pear api(mimepart.php) but I cant make this.
function mmsCombiner( $env) {
global $requestAttachments;
//print_r($requestAttachments);
$params['content_type'] = 'multipart/related';
$mimeMessage =& new Mail_mimePart('', $params);
unset($params);
$params['content_type'] = 'text/xml';
$params['encoding'] = '8bit';
$params['charset'] = 'utf-8';
$mimeMessage->addSubpart($env, $params);
$paramsInner['content_type'] = 'multipart/related';
$mimeInnerMessage =& new Mail_mimePart('', $paramsInner);
foreach ($requestAttachments as $att) {
unset($paramsInner);
$paramsInner['content_type'] = $att['contenttype'];
// TODO it must be changed
$paramsInner['encoding'] = '7bit';
//$params['disposition'] = 'attachment';
$paramsInner['dfilename'] = $att['filename'];
$paramsInner['cid'] = $att['cid'];
if ($att['data'] == '' && $att['filename'] <> '') {
if ($fd = fopen($att['filename'], 'rb')) {
$data = fread($fd, filesize($att['filename']));
fclose($fd);
} else {
$data = '';
}
$mimeInnerMessage->addSubpart($data, $paramsInner);
} else {
$mimeInnerMessage->addSubpart($att['data'], $paramsInner);
}
}
$outputInner = $mimeInnerMessage->encode();
$mimeInnerHeaders = $outputInner['headers'];
$headInner ="";
foreach ($mimeInnerHeaders as $k => $v) {
$headInner.="$k: $v \n";
//echo $headInner;
}
$attachment = $headInner."\n".$outputInner['body'];
unset($paramsInner);
$paramsInner['content_type'] = 'multipart/related';
//print_r($paramsInner);
$mimeMessage->addSubpart($attachment, array());
$output = $mimeMessage->encode();
$mimeHeaders = $output['headers'];
$head ="";
foreach ($mimeHeaders as $k => $v) {
$head.="$k: $v \n";
}
//return $attachment;
echo $head."\n".$output['body'];
//return $head."\n".$output['body'];
}
How can I achieve to construct nested multipart?
thanks.
Navigation:
[Reply to this message]
|