ทำงานกับข้อความและฟิลเตอร์ของ Gmail

เริ่มต้นใช้งาน IGmailClient

Aspose.Email สำหรับ .NET มีการสนับสนุนที่แข็งแกร่งสำหรับการโต้ตอบกับ Gmail ผ่าน IGmailClient อินเทอร์เฟซ คุณสามารถจัดการข้อความและฟิลเตอร์ในกล่องจดหมาย Gmail — รวมถึงรายการ ดึง ส่ง เพิ่ม และลบอีเมล รวมถึงจัดการฟิลเตอร์แบบกำหนดเองสำหรับการจัดประเภทอัตโนมัติ

เพื่อใช้ฟีเจอร์ของ Gmail คุณต้องเริ่มต้นอินสแตนซ์ IGmailClient ด้วย clientId, clientSecret, refreshToken และที่อยู่อีเมลเป้าหมาย ตัวอย่างทั้งหมดด้านล่างสมมติว่าตั้งค่าไว้แล้ว

using (IGmailClient client = GmailClient.GetInstance(clientId, clientSecret, refreshToken, email))
{
    // Work with messages or filters
}

รายการข้อความในกล่องจดหมาย Gmail

ดึงข้อความทั้งหมดจากกล่องจดหมายแบบน้ำหนักเบา GmailMessageInfo วัตถุ ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดึงรายการข้อความที่มีในกล่องจดหมาย Gmail โดยไม่โหลดเนื้อหาเต็ม:

var messages = client.ListMessages();

ดึงและลบข้อความ Gmail

ตัวอย่างโค้ดด้านล่างแสดงวิธีอ่านและลบข้อความจาก Gmail โดยใช้ตัวระบุที่เป็นเอกลักษณ์:

  1. ใช้ client.ListMessages() เพื่อดึงรายการข้อความ.
  2. ตั้งค่าลูป for เพื่อวนรอบผ่านสามข้อความแรก.
  3. ภายในลูป ดึงแต่ละข้อความโดยใช้ client.FetchMessage(messages[i].Id).
  4. แสดงหัวข้อและเนื้อหาของข้อความที่ดึงมา.
  5. เรียก client.DeleteMessage(messages[i].Id, true) เพื่อลบข้อความและย้ายไปถังขยะ.
  6. ยืนยันการลบด้วยข้อความ.
var messages = client.ListMessages();

for (int i = 0; i < 3; i++)
{
    var msg = client.FetchMessage(messages[i].Id);
    Console.WriteLine($"Message {i + 1}: Subject - {msg.Subject}, Body - {msg.Body}");

    client.DeleteMessage(messages[i].Id, true);
    Console.WriteLine($"Message {i + 1} moved to trash.");
}

ส่งข้อความผ่าน Gmail

สร้างและส่งอีเมลรวมทั้งไฟล์แนบโดยใช้เมธอด SendMessage() ตัวอย่างโค้ดด้านล่างจะแสดงวิธีส่งอีเมลผ่าน Gmail พร้อมไฟล์แนบ:

MailMessage message = new MailMessage("sender@example.com", "recipient@example.com", "Weekly Report", "Attached is the weekly report.");

string attachmentPath = Path.Combine(TestUtil.GetTestDataPath(), "report.pdf");
message.Attachments.Add(new Attachment(attachmentPath));

string messageId = client.SendMessage(message);
Console.WriteLine($"Message with attachment sent! ID: {messageId}");