[mel-base-devel] mel.mime:parts not working properly for rfc 2822 (reading from a file)
Jochen Schmidt
js at crispylogics.com
Thu Jan 28 16:39:30 UTC 2010
Am 28.01.2010 um 17:32 schrieb Fred Gibson:
> How about a function such as "(defun skip-rfc2822-header-part (stream
> part) ..." which would read the stream just past the desired header?
>
> I can take a pass at this if it would help.
I don't think so. It would be fixing symptoms. I think the right thing to do would be scanning for the boundary in question and then calling just skrip-rfc2822-headers on the stream.
Given some part P with boundary B
1) Locate the message object by following the parent chain
2) Get a message-body-stream
3) scan the stream for the boundary B
4) If boundary is found => return stream as part-stream
If you want a part-body-stream just get a part-stream and do skip-rfc2822-headers.
ciao,
Jochen
>
> My best,
>
> Fred
>
> On Thu, Jan 28, 2010 at 8:05 AM, Jochen Schmidt <js at crispylogics.com> wrote:
>>
>> Am 28.01.2010 um 16:56 schrieb Fred Gibson:
>>
>>> Hi Jochen,
>>>
>>> On further looking at the problem, the scan and multipart-read seem to
>>> work exactly as designed no matter the message complexity - very nice.
>>> The reason I'm getting strange results is when using
>>> part-body-string, there seems to be a problem with not skipping enough
>>> headers with increased message complexity, thereby giving a bad read
>>> on a correctly parsed part. I'm working on troubleshooting this now.
>>
>> I've also looked into this. Scanning and creating body structures is not the problem.
>> Actually part-body-string does only work for quite simple multipart messages. I had an idea though how to simplify part lookup and at the same time support komplex multipart messages:
>>
>> AFAIR the body structure stores the boundary of the part. So it should be possible to scan the message for the beginning boundary tag of the given part - completely ignoring any hierarchy. I'll try that as soon as my time permits.
>>
>> ciao,
>> Jochen
>>
>> --
>> Jochen Schmidt
>> CRISPYLOGICS
>> Uhlandstr. 9, 90408 Nuremberg
>>
>> Fon +49 (0)911 517 999 82
>> Fax +49 (0)911 517 999 83
>>
>> mailto:(format nil "~(~36r@~36r.~36r~)" 870180 1680085828711918828 16438) http://www.crispylogics.com
>>
>>
>
>
>
> --
> Fred Gibson
>
> Founder / Software Developer
> http://www.streamfocus.com
>
> (c)2010 Organon Technologies LLC
More information about the mel-base-devel
mailing list