将电子邮件内容传输到 C# 页面

本文关键字:页面 传输 电子邮件 | 更新日期: 2023-09-27 18:36:03

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

将电子邮件内容传输到 C# 页面

是的 - 你可以。

您可以利用许多库来检查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!");