Skip to main content

Biztalk : Extracting Email Body from a POP3 email file

        private static void Testing_Extracting_Email_Body_From_An_Email_File()
        {
            CDO.IMessage msg = GetCdoEmail(@"C:\BizTalk_Dropzone\MW\OSM.CrewMail\Process\00 - Emails from somebody (No MIME)\New folder\{2413639D-9F69-4E7F-ADE3-A0835E8821EB}.eml");
            Console.WriteLine(msg.TextBody);
            msg = null;
        }

        // Microsoft CDO for Windows 2000 Library
        // Microsoft ActiveX Data Objects 6.0 Library
        private static CDO.IMessage GetCdoEmail(string sAnEmailFile)
        {
            CDO.Message msg = new CDO.Message();

            // load MIME into CDO
            using (FileStream stream = new FileStream(sAnEmailFile, FileMode.Open))
            {
                // read file into a byte stream
                byte[] emailData = new byte[stream.Length];
                stream.Read(emailData, 0, (int)stream.Length);

                // load byte stream data into an ADODB stream for CDO
                ADODB.Stream stm = new ADODB.Stream();
                stm.Open(
                    System.Reflection.Missing.Value,
                    ADODB.ConnectModeEnum.adModeUnknown,
                    ADODB.StreamOpenOptionsEnum.adOpenStreamUnspecified,
                    null, null);
                stm.Type = ADODB.StreamTypeEnum.adTypeBinary;
                stm.Write(emailData);
                stm.Flush();
                stm.SetEOS();

                // attach data source to the CDO object
                msg.DataSource.OpenObject(stm, "_Stream");
                stm.Close();
            }
            return msg;
        }

Comments

  1. Though it was working most of the time say 99%, I discovered an issue just yesterday, that this function could not extract the body of an email created by a Biztalk. I'll post soon a solution, the one I am think out is using a Chilkat since we do have a license for it and we used it way back then.

    \m/

    ReplyDelete

Post a Comment

Popular posts from this blog

Ubuntu 16.04 LT - Installing Chromium browser

> Type these commands about this PPA : $ sudo add-apt-repository ppa:canonical-chromium-builds/stage $ sudo apt-get update $ sudo apt-get install chromium-browser > Terminal: mccrazy@Lenovo-N22:~$ sudo add-apt-repository ppa:canonical-chromium-builds/stage [sudo] password for mccrazy:  Testing site just before upload to Ubuntu main. Things here are either broken and not ready to use, or landing in the distro anyway very soon. You shouldn't use this.  More info: https://launchpad.net/~canonical-chromium-builds/+archive/ubuntu/stage Press [ENTER] to continue or ctrl-c to cancel adding it gpg: keyring `/tmp/tmp6cfppy_r/secring.gpg' created gpg: keyring `/tmp/tmp6cfppy_r/pubring.gpg' created gpg: requesting key 5B393194 from hkp server keyserver.ubuntu.com gpg: /tmp/tmp6cfppy_r/trustdb.gpg: trustdb created gpg: key 5B393194: public key "Launchpad PPA for Canonical Chromium Build Team" imported gpg: Total number processed: 1 gpg:               imported: 1  (RSA

Moodlerooms Webservice - How to insert a user using function core_user_create_users

https://our-sandbox.mrooms.net/webservice/rest/server.php?wstoken=OUT_TOKEN_HERE&wsfunction=core_user_create_users&moodlewsrestformat=xml&users [0][username]= biboyatienza@gmail.com &users[0][password]=00.00.0000&users[0][firstname]=biboy&users[0][lastname]=atienza&users[0][email]= biboyatienza@gmail.com &users[0][city]=Manila&users[0][country]=Philippines &users[0][customfields][0][type]= customer &users[0][customfields][0][value]=Customer1 &users[0][customfields][1][type]= customeremail &users[0][customfields][1][value]= customer@email.com &users[0][customfields][2][type]= customerphone &users[0][customfields][2][value]=+6325217788