2012-06-01 28 views
0

我已经创建了一个Web窗体,其中包含用于添加按钮的用户姓名,出生日期,性别信息的控件,一旦添加按钮将该信息发送到数据库。 但我有我的邮箱,例如。 Gmail的一些邮件进入收件箱,其中包含与先前相同的信息(姓名,出生日期,性别等)。所以我可以有功能将收件箱数据传输到我的数据库?将电子邮件的内容传输到C#页面

+0

可以传输数据相同像在C#页从一个邮件到数据库,例如。我有一个新的邮件,其中包含信息aaa,男性然后这个信息肩去有字段(名称,性别) – Ishita

回答

0

是的 - 你可以。

有很多图书馆,你可以利用它来使检查Gmail帐户微不足道。这里只是一个:http://sourceforge.net/projects/hpop/

下面是示例代码,获取所有的电子邮件:

public static List<Message> FetchAllMessages(string hostname, int port, bool useSsl, string username, string password) 
{ 
    // The client disconnects from the server when being disposed 
    using (Pop3Client client = new Pop3Client()) 
    { 
     // Connect to the server 
     client.Connect(hostname, port, useSsl); 

     // Authenticate ourselves towards the server 
     client.Authenticate(username, password); 

     // Get the number of messages in the inbox 
     int messageCount = client.GetMessageCount(); 

     // We want to download all messages 
     List<Message> allMessages = new List<Message>(messageCount); 

     // Messages are numbered in the interval: [1, messageCount] 
     // Ergo: message numbers are 1-based. 
     // Most servers give the latest message the highest number 
     for (int i = messageCount; i > 0; i--) 
     { 
      allMessages.Add(client.GetMessage(i)); 
     } 

     // Now return the fetched messages 
     return allMessages; 
    } 
} 

你仍然需要去通过每一个并确定它是否适用于你的数据库,然后获取数据并将其插入数据库;但它应该是相当直截了当(几乎等同于你已经在做)对于Gmail,你可以使用以下方法来让你的邮件

List<Message> myMail = FetchAllMessages("pop.gmail.com", 995, true, "[email protected]", "mysupersecretpasswordshhhhh!"); 
+0

这里主机名,端口值应该是邮件服务器,如果我想将gmail邮件转移到C#页,然后主机名和端口将是gmail? – Ishita

+0

List myMail = FetchAllMessages(“pop.gmail.com”,995,true,“[email protected]”,“mysupersecretpasswordshhhhh!”); –

+0

谢谢,让我试试这段代码 – Ishita