Tạo và gửi tin nhắn bằng Microsoft Graph API trong C#

Microsoft cung cấp Graph API để truy cập các dịch vụ của Office 365 và Microsoft Cloud theo chương trình từ bên trong các ứng dụng của bạn. Hơn nữa, bạn có thể sử dụng API Đồ thị để quản lý các thư mục, gửi tin nhắn và thực hiện nhiều thao tác khác. Trong bài viết này, bạn sẽ học cách tạo và gửi tin nhắn bằng Microsoft Graph API trong C#.

C# .NET Microsoft Graph API để tạo và gửi tin nhắn

Aspose.Email for .NET là một API tuyệt vời để tạo và gửi email từ bên trong các ứng dụng .NET. Ngoài ra, nó cho phép bạn sử dụng Microsoft Graph API và quản lý các thư mục, tin nhắn,… Chúng tôi sẽ sử dụng API này để tạo và gửi tin nhắn bằng Microsoft Graph API. Bạn có thể tải xuống DLL của API hoặc cài đặt nó từ NuGet bằng lệnh sau.

PM> Install-Package Aspose.Email

Tạo thông báo với Microsoft Graph API trong C#

Để giao tiếp với API Đồ thị, trước tiên bạn cần triển khai giao diện ITokenProvider để xác thực các yêu cầu. Sau đây là cách triển khai cơ bản của ITokenProvider.

class AccessTokenProvider : ITokenProvider
{
    DateTime expirationDate = DateTime.Now;

    public void Dispose()
    {
    }
    public OAuthToken GetAccessToken(bool ignoreExistingToken)
    {
        // Nhận mã thông báo truy cập oAuth.
        // Nếu ignoreExistingToken là true, yêu cầu mã thông báo mới từ máy chủ. Nếu không, hành vi phụ thuộc vào việc mã thông báo có tồn tại hay không.
        // Nếu mã thông báo tồn tại và ngày hết hạn của nó chưa hết hạn trả về mã thông báo hiện tại, nếu không sẽ yêu cầu mã thông báo mới từ máy chủ.
        return null;
    }
    public OAuthToken GetAccessToken()
    {
        // Nhận mã thông báo truy cập oAuth.
        // Nếu mã thông báo tồn tại và ngày hết hạn của nó chưa hết hạn trả về mã thông báo hiện tại, nếu không sẽ yêu cầu mã thông báo mới từ máy chủ.
        return new OAuthToken("token", expirationDate);
    }
}

Sau đây là các bước để tạo thông báo bằng Microsoft Graph API trong C#.

Mẫu mã sau đây cho thấy cách tạo thông báo bằng Microsoft Graph API trong C#.

// Tạo mã thông báo truy cập
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Tạo một ứng dụng khách Graph
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Tạo một tin nhắn mới
MapiMessage mm = new MapiMessage();
mm.Subject = "EMAILNET-39318 " + Guid.NewGuid().ToString();
mm.Body = "EMAILNET-39318 REST API v1.0 - Create Message";
mm.SetProperty(KnownPropertyList.DisplayTo, "to@host.com");
mm.SetProperty(KnownPropertyList.SenderName, "from");
mm.SetProperty(KnownPropertyList.SentRepresentingEmailAddress, "from@host.com");

// Tạo tin nhắn trong thư mục hộp thư đến
MapiMessage createdMessage = client.CreateMessage(Clients.Graph.KnownFolders.Inbox, mm);

Gửi tin nhắn bằng Microsoft Graph API trong C#

Bây giờ chúng ta hãy xem cách gửi tin nhắn bằng Microsoft Graph API trong C#.

Mẫu mã sau đây cho thấy cách gửi tin nhắn bằng Microsoft Graph API trong C#.

// Tạo mã thông báo truy cập
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Tạo một ứng dụng khách Graph
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Tạo một tin nhắn mới
MapiMessage mm = new MapiMessage();
mm.Subject = "EMAILNET-39318 " + Guid.NewGuid().ToString();
mm.Body = "EMAILNET-39318 REST API v1.0 - Create Message";
mm.SetProperty(KnownPropertyList.DisplayTo, "to@host.com");
mm.SetProperty(KnownPropertyList.SenderName, "from");
mm.SetProperty(KnownPropertyList.SentRepresentingEmailAddress, "from@host.com");

// Gửi tin nhắn
client.Send(mm);

Microsoft Graph API để tạo và gửi tin nhắn trong C# - Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để tạo và gửi tin nhắn qua Microsoft Graph API mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách sử dụng Microsoft Graph API để tạo và gửi tin nhắn trong C#. Bạn chỉ cần cài đặt Aspose.Email và tích hợp các mẫu mã được cung cấp vào các ứng dụng .NET của mình. Ngoài ra, bạn có thể xem các tính năng khác được cung cấp bởi Aspose.Email for .NET bằng cách sử dụng tài liệu. Ngoài ra, trong trường hợp bạn có bất kỳ câu hỏi nào, bạn có thể đăng lên diễn đàn của chúng tôi.

Xem thêm