Работа с сообщениями и фильтрами 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, используя их уникальные идентификаторы:
- Использовать client.ListMessages() чтобы получить список сообщений.
- Настройте цикл for для итерации по первым трем сообщениям.
- Внутри цикла получайте каждое сообщение, используя client.FetchMessage(messages[i].Id).
- Выведите тему и тело полученного сообщения.
- Вызвать client.DeleteMessage(messages[i].Id, true) для удаления сообщения и перемещения его в корзину.
- Подтвердите удаление с помощью сообщения.
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}");