Робота з повідомленнями та фільтрами 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}");