ich würde mindestens bei
mailfeld = Fulltrim(doc.GetItemValue("email1"))
machen (so heißt das doch? sieh nochmals in der Hilfe nach!)
und bei der weiteren Verarbeitung im Kopf haben, dass es Mehrfachwerte sein können, und dazwischen auch Leerwerte.
und außderdem: hasItem wird häufig unterschätzt
und frag die collection ab ob sie da ist