Bekerja dengan Pesan dan Filter Gmail
Memulai dengan IGmailClient
Aspose.Email untuk .NET menyediakan dukungan kuat untuk berinteraksi dengan Gmail melalui IGmailClient antarmuka. Anda dapat mengelola pesan dan filter dalam kotak surat Gmail — termasuk menampilkan, mengambil, mengirim, menambahkan, dan menghapus email, serta mengelola filter khusus untuk klasifikasi otomatis.
Untuk menggunakan fitur Gmail, Anda perlu menginisialisasi instance IGmailClient menggunakan clientId, clientSecret, refreshToken, dan alamat email target. Semua contoh di bawah mengasumsikan penyiapan ini:
using (IGmailClient client = GmailClient.GetInstance(clientId, clientSecret, refreshToken, email))
{
// Work with messages or filters
}
Daftar Pesan dalam Kotak Surat Gmail
Ambil semua pesan dari kotak surat secara ringan GmailMessageInfo objek. Contoh kode berikut mendemonstrasikan cara mengambil daftar pesan yang tersedia di kotak surat Gmail tanpa memuat konten penuh:
var messages = client.ListMessages();
Ambil dan Hapus Pesan Gmail
Contoh kode di bawah ini mendemonstrasikan cara membaca dan menghapus pesan dari Gmail menggunakan pengidentifikasi unik mereka:
- Gunakan client.ListMessages() untuk mengambil daftar pesan.
- Siapkan loop for untuk mengiterasi tiga pesan pertama.
- Di dalam loop, ambil setiap pesan menggunakan client.FetchMessage(messages[i].Id).
- Cetak subjek dan isi pesan yang diambil.
- Panggil client.DeleteMessage(messages[i].Id, true) untuk menghapus pesan dan memindahkannya ke tempat sampah.
- Konfirmasi penghapusan dengan pesan.
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.");
}
Kirim Pesan melalui Gmail
Susun dan kirim email, termasuk lampiran menggunakan metode SendMessage(). Contoh kode di bawah ini mendemonstrasikan cara mengirim email melalui Gmail dengan lampiran:
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}");