Cách đọc thư từ Gmail bằng C#.net

lập trình


Chào mọi người,

Tôi đang làm việc trên Ứng dụng web mà tôi phải định cấu hình gmail. Tôi muốn hiển thị tất cả thư Hộp thư đến ở chế độ xem Lưới với Chủ đề theo Thứ tự giảm dần (ngày khôn ngoan). Tôi đã thử nhiều mã nhưng không thấy mã nào hoạt động tốt.

Đọc tin nhắn trong hộp thư đến Gmail trong ASP.NET[^]

[^]

Tôi đã sử dụng cái này nhưng nó chỉ hiển thị một vài email và theo thứ tự tăng dần (Datewise).
Vui lòng cung cấp cho tôi liên kết tốt hoạt động tốt cho việc này.

Đồng thời cho tôi biết cái nào tốt để sử dụng IMAP hoặc POP3.
Tôi có một số mã khác nhưng nó hoạt động với yahoo chứ không phải gmail.

Cảm ơn trước
Neetesh Agarwal

Giải pháp 1

Giải pháp 2

Sử dụng IMAP thay thế cho Pop3 Server:

C#
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Net.NetworkInformation;
using System.Net.Security;
using System.Net.Sockets;

namespace mail
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {

            Imap client = new Imap();
            // connect to server

            client.Connect("imap.gmail.com", 993, SslMode.Implicit);

            // authenticate
            client.Login("username", "password");

            // select folder
            client.SelectFolder("Inbox");

            int NoOfEmailsPerPage = 10;
            int totalEmails = client.CurrentFolder.TotalMessageCount;
            // get message list - envelope headers
            ImapMessageCollection messages = client.GetMessageList(ImapListFields.Envelope);

            // display info about each message
          
           
            foreach (ImapMessageInfo message in messages)
            {
                
                TableCell noCell = new TableCell();
                
                noCell.CssClass = "emails-table-cell";

                noCell.Text = Convert.ToString(message.To);
                TableCell fromCell = new TableCell();
                fromCell.CssClass = "emails-table-cell";
                fromCell.Text = Convert.ToString(message.From);
                TableCell subjectCell = new TableCell();
                subjectCell.CssClass = "emails-table-cell";
                subjectCell.Style["width"] = "300px";
                subjectCell.Text = Convert.ToString(message.Subject);
                TableCell dateCell = new TableCell();
                dateCell.CssClass = "emails-table-cell";
                if (message.Date.OriginalTime != DateTime.MinValue)
                    dateCell.Text = message.Date.OriginalTime.ToString();
                TableRow emailRow = new TableRow();
                emailRow.Cells.Add(noCell);
                emailRow.Cells.Add(fromCell);
                emailRow.Cells.Add(subjectCell);
                emailRow.Cells.Add(dateCell);
                EmailsTable.Rows.AddAt(2 + 0, emailRow);
                
            }
            int totalPages;
            int mod = totalEmails % NoOfEmailsPerPage;
            if (mod == 0)
                totalPages = totalEmails / NoOfEmailsPerPage;
            else
                totalPages = ((totalEmails - mod) / NoOfEmailsPerPage) + 1;

          

        }
    }
}

Giải pháp 3

コメント

タイトルとURLをコピーしました