CDO gond

Az utóbbi időben nem nagyon volt időm blog-ot írni, ráadásul nem is nagyon lett volna miről. A szabadidőm legnagyobb részében listaszoftvert írok.
Ennek kapcsán belefutottam a CDO (Collaboration Data Object) egyik bajába.
Az SMTP szerver a beérkező leveleket lerakja a Drop mappába. A levél fejlécébe egy x-receiver nevű mezőbe lerakja az SMTP borítékban lévő címzettet (RCPT TO). Ez idáig renben is van, de mi történik, ha több címzett van? Ebben az esetben több x-receiver mező keletkezik.
Amikor fel akarjuk dolgozni egy CDO.Message objektumban akkor az x-receiver fejléc mező tartalma a Fields collection "urn:schemas:mailheader:x-receiver" mezőjében fog megjelenni. Ezzel itt viszont gond van. Csak a legelső címzett kerül bele ebbe a mezőbe. A CDO nem nyújt lehetőséget arra, hogy hozzáférjünk a többi mezőhöz. Keresgéltem a neten mindenfelé. Tőbb helyen találkoztam vele, hogy más is belefutott ebbe, de megoldást azt nem találtam. Ezért írtam egy kis kiegészítést, hogy megkapjam a hiányzó címzetteket.
 
String.prototype.trim = _String_trim;

function _String_trim()
{
    var i,j;
    for(i = 0; this.charAt(i) == " " && i < this.length; i++) {}
    for(j = this.length - 1; this.charAt(j) == " " && j >= 0; j--) {}
    return j >= i ? this.substring(i, j + 1) : "";
}

function GetMsgXRecipients(Msg)
{
    var retvalue = new Array();
    var i = 0;
    var MsgStream = Msg.GetStream();
    var Buffer;
    MsgStream.Type = adTypeText;
    for(Buffer = MsgStream.ReadText(adReadLine); !MsgStream.EOS && Buffer.length != 0; Buffer = MsgStream.ReadText(adReadLine))
        if(Buffer.substr(0,11) == "x-receiver:")
        {
            retvalue[i] = Buffer.substr(11).trim();
            i++;
        }
    return retvalue;
}
 
Kategória: Computers and Internet | Közvetlen link a könyvjelzőhöz.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s