Problem solved !!!
They send the answers in two or more packets and thatswhy NetReceiveEmail gets confused. The answer to RETR 1 comes in 4 packets as +, all the text, '<13>', '<10>.<13,10>'. I remembered the code in my native NetSimple Progs within Process, case self.Packet.PacketType, of NET:SimpleDataPacket and I collect now everything (it's a little bit quick and dirty..) before letting Parent.Process() do the rest. The code I use now follows at the end for anyone who is interested (ATM I use the NetDemo example and the Loging refers to it).
Anyone is welcome to comment it or show me how to do it smother !
Thanks Bruce for your Patience here.
Thomas
! loc:PlusOnly is a bool(0), loc:SavePacket is a string( NET:MaxBinData)
log = clip(log) & '<13,10> <<<< -------------------------------------------------- new packet received -'
if clip(self.packet.bindata) = '+'
loc:PlusOnly= true
log = clip(log) & '<13,10> + only - waiting for the rest !'
return
else
if loc:PlusOnly
loc:PlusOnly= false
self.packet.bindata= '+' & clip(self.packet.bindata)
self.packet.bindatalen+= 1
end
end
if instring( '+OK Message follows', self.packet.bindata, 1, 1)
if self.packet.bindata[ self.packet.bindatalen-4 : self.packet.bindatalen] <> '<13,10>.<13,10>' ! for security only
loc:SavePacket= clip(self.packet.bindata)
log = clip(log) & '<13,10> missing expected "end of email" - waiting for next packet (1) !'
return
end
end
if instring( '+OK Message follows', loc:SavePacket, 1, 1)
log = clip(log) & '<13,10> ### |'
loop k#= 1 to self.packet.bindatalen
log = clip(log) & val( self.packet.bindata[ k#]) & '|'
end!loop
log = clip(log) & ' ###'
loc:SavePacket= clip( loc:SavePacket) & clip(self.packet.bindata)
k#= len( clip( loc:SavePacket))
if loc:SavePacket[ k#-4 : k#] = '<13,10>.<13,10>'
self.packet.bindata= clip( loc:SavePacket)
self.packet.bindatalen= k#
loc:SavePacket= ''
else
log = clip(log) & '<13,10> missing expected "end of email" - waiting for next packet (2) !'
return
end
log = clip(log) & '<13,10> <<<< ' & clip(self.packet.bindata)
else
log = clip(log) & '<13,10> <<<< ' & clip(self.packet.bindata)
end
display(?log)