Solved

What is wrong with the code?!

Posted on 2009-07-01
6
354 Views
Last Modified: 2013-12-17

Hello group,

I'm just new to C# and found a code on CodeProject to pool some emails from a mail server. The code is a class so I'm adding a project and using it.

However, I get errors as:

Error      1      Using the generic type 'System.Collections.Generic.IEnumerator<T>' requires '1' type arguments      C:\downloads\WindowsFormsApplication1\Form1.cs      43      25      WindowsFormsApplication1

Error      2      'Pop3.Pop3Component' does not contain a definition for 'Body' and no extension method 'Body' accepting a first argument of type 'Pop3.Pop3Component' could be found (are you missing a using directive or an assembly reference?)      C:\downloads\WindowsFormsApplication1\Form1.cs      51      43      WindowsFormsApplication1


How can I fix them?



Thanks,
ak

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Pop3;
 
 
 
 
namespace WindowsFormsApplication1
{
    
 
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            string s_username = "user1@domain.com";
            string s_password = "passwd";
            string s_pop3_server = "mail.domain.com";
 
 
            try
            {
                Pop3Client email = new Pop3Client(s_username, s_password, s_pop3_server);
                email.OpenInbox();
 
                while (email.NextEmail())
                {
                    if (email.IsMultipart)
                    {
                        IEnumerator enumerator = email.MultipartEnumerator;
                        while (enumerator.MoveNext())
                        {
                            Pop3Component multipart = (Pop3Component)
                            enumerator.Current;
                            if (multipart.IsBody)
                            {
                                Console.WriteLine("Multipart body:" +
                                multipart.Body);
                            }
                            else
                            {
                                Console.WriteLine("Attachment name=" +
                                multipart.Name); // ... etc
 
                            }
                        }
                    }
                }
 
                email.CloseConnection();
 
            }
            catch (Pop3LoginException)
            {
                Console.WriteLine("You seem to have a problem logging in!");
            }
 
            
        }
    }
}

Open in new window

0
Comment
Question by:akohan
6 Comments
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 24759601
be sure to have:
using System.Collections;
along with
using System.Collections.Generic;
0
 
LVL 9

Accepted Solution

by:
Rahul Goel ITIL earned 500 total points
ID: 24760639
This is the best solution of the your problem, you might need to change your code and use the new class.

Refer to :
http://www.developerfusion.com/article/4071/how-to-pop3-in-c/
0
 
LVL 16

Expert Comment

by:sunithnair
ID: 24761762
Try the code like this
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 16

Expert Comment

by:sunithnair
ID: 24761764

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Pop3;
 
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string s_username = "user1@domain.com";
            string s_password = "passwd";
            string s_pop3_server = "mail.domain.com";
 
            try
            {
                Pop3Client email = new Pop3Client(s_username, s_password, s_pop3_server);
                email.OpenInbox();
                while (email.NextEmail())
                {
                    if (email.IsMultipart)
                    {
                        IEnumerator enumerator = email.MultipartEnumerator;
                        while (enumerator.MoveNext())
                        {
                            Pop3Component multipart = (Pop3Component)
                            enumerator.Current;
                            if (multipart.IsBody)
                            {
                                Console.WriteLine("Multipart body:" +
                                multipart.Data);
                            }
                            else
                            {
                                Console.WriteLine("Attachment name=" +
                                multipart.Name); // ... etc
 
                            }
                        }
                    }
                }
                email.CloseConnection();
            }
            catch (Pop3LoginException)
            {
                Console.WriteLine("You seem to have a problem logging in!");
            }
        }
    }
}

Open in new window

0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 24762416
I think it is just a matter of the missing namespace.
0
 

Author Closing Comment

by:akohan
ID: 31599029
Thanks
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Summary Displaying images in RichTextBox is a common requirement with limited solutions available. Pasting through clipboard or embedding into RTF content only support static images.  This article describes how to insert Windows control objects int…
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question