سؤال

وأنا أحاول أن يقرأ من خلال حساب جوجل للحصول على بيانات نظام تحديد المواقع التي يتم إرسالها هناك (في نص البريد الإلكتروني) من الهاتف موبلي (هاتفي)

using (Pop3Client cl = new Pop3Client())
            {
                cl.UserName = "crash893";
                cl.Password = "password";
                cl.ServerName = "pop.gmail.com";
                cl.AuthenticateMode = Pop3AuthenticateMode.Pop;
                cl.Ssl = true;
                cl.Authenticate();
                ///Get first mail of my mailbox
                Pop3Message mg = cl.GetMessage(1);  <<<<<<<<<< ERROR
                String MyText = mg.BodyText;
                ///If the message have one attachment
                Pop3Content ct = mg.Contents[0];
                ///you can save it to local disk
                ct.DecodeData("c:\\test.txt");
            }

ولكن يمكنني الحصول على استثناء على "الحصول على البريد الأول من رسالة صندوق البريد

"Higuchi.Net.Pop3.Pop3ConnectException: Pop3 connection is closed
at Higuchi.Net.Pop3.Pop3Client.SendCommand(String inCommand)
at Higuchi.Net.Pop3.Pop3Client.Execute(String inCommand, Boolean inIsMultiLine)
at Higuchi.Net.Pop3.Pop3Client.Execute(Pop3Command inCommand)
at Higuchi.Net.Pop3.Pop3Client.GetMessage(Int64 inMailIndex)"}

وبشكل مثالي ما أود فعله هو فتح هذه قراءة جميع رسائل البريد الإلكتروني غير المقروءة الجديدة في هذا الحساب للحصول على خط موضوع معين ثم قراءة البيانات في الجسم ووضع علامة عليها للقراءة

لا أحد يعرف لماذا في erroring خارج

هل لديها أي خبرتها مع c # البريد الذي مهلا يمكن لي نقطة في الاتجاه الصحيح لقراءة وmakring رسائل البريد الإلكتروني للقراءة الخ

هل كانت مفيدة؟

المحلول 3

        using (Pop3Client cl = new Pop3Client())
        {
            cl.UserName = "ewgsdssw";
            cl.Password = "sdgwsegw";
            cl.ServerName = "pop.gmail.com";
            cl.AuthenticateMode = Pop3AuthenticateMode.Pop;
            cl.Port = 995;
            cl.Ssl = true;
            cl.Authenticate();
            ///Get first mail of my mailbox
            ///
            int total = Convert.ToInt16(cl.GetTotalMessageCount());

            while (total >= 1)
            {
                Pop3Message mg = cl.GetMessage(total);
                if (mg.Subject == "I am Here")
                {

                    // http://maps.google.com/maps?q=38.89552,-77.43265
                    //(+/- 76 metres.)

                    string location = mg.BodyText;
                    location = location.Replace("http://maps.google.com/maps?q=","~");
                    location = location.Replace("metres.)\r\n\r\n","~");

                    location = location.Split('~')[1];

                    location = location.Replace("(+/- ", ",");
                    location = location.Replace("\r\n", "");


                    string[] data = location.Split(',');
                    string lat = data[0];
                    string lon = data[1];
                    string res = data[2];
                    DateTime time = mg.Date;

                    textBox1.AppendText(string.Format("Lat: {0} LON: {1} Res: {2} TIME: {3}\r\n",lat,lon,res,time.ToString()));

                }

                total--;
            }

        }

نصائح أخرى

وليس من الممكن بمناسبة رسائل البريد الإلكتروني للقراءة باستخدام بروتوكول POP.

وحاول استخدام IMAP.

وcl.Port = 995؛

وليس لدي تجربة مع C # البريد، وهذا الجواب قد لا تساعد، ولكن لقد شهدت غرابة في الماضي أثناء محاولة كتابة البريد الإلكتروني إرسال / تلقي رمز ذات الصلة.

وتبين من برامج مكافحة الفيروسات كنا نركض في العمل كان البيضاء المسموح بها في .EXE التي يمكن أن تجعل في / الصادرة POP3 أو SMTP الاتصالات. أي فرصة هذه هي مشكلتك؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top