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

将电子邮件内容传输到C#页面,c#,asp.net,sql-server-2005,C#,Asp.net,Sql Server 2005,我已经创建了一个web表单,其中包含使用add按钮添加姓名、出生日期、用户性别信息的控件,一旦单击add按钮,这些信息就会进入数据库。 但我有我的邮箱,例如gmail,一些邮件在收件箱中,包含和之前相同的信息(姓名、出生日期、性别等)。那么,我可以将收件箱数据传输到我的数据库吗?可以-可以 有很多库,你可以利用它们来让检查Gmail帐户变得简单。这里只有一个: 以下是获取所有电子邮件的示例代码: public static List<Message> FetchAllMessages

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

可以-可以

有很多库,你可以利用它们来让检查Gmail帐户变得简单。这里只有一个:

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

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;
    }
}
public static List FetchAllMessages(字符串主机名、int端口、bool usesl、字符串用户名、字符串密码)
{
//客户端在被释放时与服务器断开连接
使用(POP3客户端=新POP3客户端())
{
//连接到服务器
Connect(主机名、端口、usesl);
//对服务器进行身份验证
客户端验证(用户名、密码);
//获取收件箱中的邮件数
int messageCount=client.GetMessageCount();
//我们想下载所有消息
List allMessages=新列表(messageCount);
//消息在间隔[1,messageCount]中编号
//因此:消息编号是以1为基础的。
//大多数服务器提供的最新消息数量最多
对于(int i=messageCount;i>0;i--)
{
allMessages.Add(client.GetMessage(i));
}
//现在返回获取的消息
返回所有消息;
}
}
您仍然需要逐一检查并确定它是否对您的数据库有效,然后获取数据并将其插入数据库;但它应该是非常直接的(并且与您已经在做的事情几乎相同)

对于GMail,您可以使用以下方式获取邮件:

List<Message> myMail = FetchAllMessages("pop.gmail.com", 995, true, "MyEmail@gmail.com", "mysupersecretpasswordshhhhh!");
List myMail=FetchAllMessages(“pop.gmail.com”,995,true,”MyEmail@gmail.com“,”mysupersecretpasswordshhhh!);

我可以将与c#页中相同的数据从一封邮件传输到数据库吗?例如,我收到了一封新邮件,其中包含信息aaa,male,然后该信息应转到表中的主机名字段(姓名、性别),端口值应该是邮件服务器如果我想将gmail邮件传输到c#页面,那么主机名和端口将是gmail???List myMail=FetchAllMessages(“pop.gmail.com”,995,true,”MyEmail@gmail.com“,”mysupersecretpasswordshhhh!);