0

我创建了一个 Web 表单,其中包含控件以使用添加按钮添加用户的姓名、出生日期、性别信息,一旦单击添加按钮,该信息就会进入数据库。但我有我的邮箱,例如。gmail 一些邮件正在收件箱中,其中包含与之前相同的信息(姓名、出生日期、性别等)。那么我可以将收件箱数据传输到我的数据库吗?

4

1 回答 1

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, "MyEmail@gmail.com", "mysupersecretpasswordshhhhh!");
于 2012-06-01T07:40:37.007 回答