Aspose.Email  .NET용

.NET 앱에서 Microsoft 365 Graph API를 사용해 이메일을 보내는 방법

메시지 작성, OAuth2 인증 및 파일 첨부를 지원하여 .NET 애플리케이션에 보안 메일 전송 기능을 통합합니다.

  무료 평가판 다운로드

Microsoft 365 Graph API를 사용해 C#에서 이메일 전송

Microsoft Graph API를 .NET 애플리케이션에 통합하면 개발자가 Microsoft 365 서비스를 통한 메시지 전송 과정을 간소화할 수 있습니다. Aspose.Email for .NET 이 과정을 단순화하고 첨부 파일 처리, 추적 및 보안 통신과 같은 강화된 기능을 제공합니다. 이 라이브러리를 통해 .NET 애플리케이션에서 개인화된 고성능 이메일을 직접 생성하고 전달할 수 있습니다.

Aspose.Email을 Microsoft Graph와 함께 사용할 때의 주요 장점

  • SMTP 또는 기본 인증 불필요 - 안전한 최신 토큰 기반 인증(OAuth2)을 사용합니다.

  • Microsoft 365 및 Outlook 통합 - Microsoft 365 메일함 및 서비스에 쉽게 연결합니다.

  • 엔터프라이즈 급 .NET 개발자용 - 확장성, 신뢰성 및 기업 메일 워크플로우를 위해 설계되었습니다.

  • 완전 관리형 API - 외부 종속성 없음 - Graph SDK나 타사 클라이언트 없이 모든 것이 포함된 .NET 라이브러리입니다.

  • .NET Framework 및 .NET Core / .NET 6+ 지원 - 최신 및 레거시 .NET 환경과 호환됩니다.

  • 간편한 설정으로 빠른 배포 - 빠른 구현을 위한 샘플 코드가 포함된 사용하기 쉬운 API.

코드 샘플

Aspose.Email의 내장 Graph 클라이언트를 사용해 .NET 애플리케이션에 Microsoft 365 이메일 전송을 손쉽게 통합해 보세요.

이메일 전송 샘플 코드 - C#

var client = GraphClient.GetClient(authProvider);
var message = new MailMessage(...);
client.Send(message);

작동 방식

Microsoft Graph는 Microsoft 365 서비스에 접근할 수 있는 RESTful 웹 API이며, 이메일 전송 기능도 포함합니다. Microsoft Graph를 통해 이메일을 보낼 때는 /sendMail 엔드포인트로 HTTP POST 요청과 메시지 페이로드를 전송합니다. 이 페이로드는 일반적으로 수신자, 제목, 본문 등 메시지 내용과 첨부 파일을 포함하는 JSON 객체입니다.

요청을 받으면 MS Graph가 이를 처리하고 HTTP 상태 코드를 반환합니다. 전송이 성공하면 202 Accepted 응답이 반환되어 메시지가 전달 대기열에 들어갔음을 나타냅니다. 이러한 응답을 처리함으로써 개발자는 성공적인 통신을 보장하거나 발생할 수 있는 문제를 디버깅할 수 있습니다.

Microsoft Graph 요청 인증

Microsoft Graph를 호출하는 것은 단순히 HTTP 요청을 보내는 것이 아닙니다—먼저 인증을 처리해야 합니다. Graph API는 Azure Active Directory(Azure AD)로 보호되므로 모든 요청 전에 액세스 토큰을 받아야 합니다. 이 액세스 토큰은 인증 과정에서 부여된 권한에 따라 수행할 수 있는 작업을 지정합니다.

인증을 위해 먼저 Azure AD에서 앱 등록을 설정하고 필요한 권한을 정의한 뒤 적절한 OAuth 흐름으로 액세스 토큰을 요청해야 합니다. 토큰을 획득하면 이를 Authorization 요청 헤더를 설정합니다.

Aspose.Email for .NET은 액세스 토큰을 얻고 관리하는 과정을 단순화하여 애플리케이션이 Microsoft Graph와 안전하게 상호 작용하도록 보장합니다. 이를 구현하여 ITokenProvider 인터페이스를 사용하면 개발자가 인증에 필요한 OAuth 2.0 토큰을 효율적으로 가져올 수 있습니다. Azure 포털에서 앱 등록을 설정하고 Mail.Send와 같은 필요한 권한을 부여하면, 개발자는 라이브러리 기능을 사용해 애플리케이션에 광범위한 이메일 기능을 통합할 수 있습니다.

몇 가지 필수 단계부터 시작하십시오:

  1. Azure 포털에서 애플리케이션을 등록하고 다음과 같은 권한을 부여합니다 Mail.Send 이메일 전송을 위해.
  2. 액세스 토큰 얻기: 구현 ITokenProvider Aspose.Email for .NET 인터페이스를 사용하여 인증에 필요한 OAuth 2.0 토큰을 가져옵니다.
  3. Aspose.Email for .NET 설치 via NuGet 또는 다운로드하여 DLL 파일.

이 단계를 따라 하면 코딩을 시작할 준비가 잘 갖춰집니다.

Microsoft Graph 요청 및 응답 이해

Request: 메시지 제목, 본문, 수신자 상세 정보 및 첨부 파일과 같은 데이터는 JSON 형식으로 구조화됩니다. Send 메서드를 호출하면 이 데이터가 직렬화되어 Microsoft Graph /sendMail 엔드포인트에 POST 요청으로 전송됩니다.

Response: Graph API의 응답은 상태 코드로 반환됩니다. 202 Accepted 응답은 전송 성공을 나타내며, 401 Unauthorized 또는 403 Forbidden과 같은 오류 코드는 인증 또는 권한 문제를 의미할 수 있습니다.

.NET 라이브러리는 Microsoft Graph와 같은 외부 서비스와 상호 작용할 때 요청 형성, 전송 및 응답 구문 분석을 위한 내장 기능을 제공합니다. 이러한 기능을 통해 개발자는 HTTP 요청을 수동으로 만들거나 원시 JSON 응답을 파싱할 필요 없이 Microsoft 365 서비스(예: Outlook, Calendar, Contacts)와의 통신을 효율화할 수 있습니다.

  1. Forming Requests: Aspose.Email은 요청 형성의 복잡성을 추상화하는 특정 클래스와 메서드를 제공하여 요청 작성을 단순화합니다. 예를 들어, 개발자는 직관적인 API를 통해 이메일, 캘린더 및 연락처와 상호 작용할 수 있으며, 필요한 Graph 요청을 직접 구축할 필요가 없습니다.

  2. Sending Requests: 라이브러리는 Microsoft Graph와 같은 서비스에 직접 요청을 보낼 수 있는 내장 메커니즘을 포함합니다. 인증 및 HTTP 메서드를 수동으로 처리하는 대신 Aspose.Email이 백그라운드에서 이를 처리합니다. 여기에는 인증 토큰 및 콘텐츠 유형과 같은 필요한 헤더를 추가하여 Microsoft 서비스와의 성공적인 통신을 위해 요청이 올바르게 포맷되도록 합니다.

  3. Parsing Responses: 응답 구문 분석을 지원하여 원시 JSON 또는 XML 응답을 MailMessage, CalendarEvent, Contact와 같은 구조화된 객체로 변환합니다. 이를 통해 개발자는 직접 JSON 파싱을 할 필요가 없어집니다. 파싱된 데이터는 애플리케이션 내에서 바로 사용할 수 있어 통합 과정이 보다 원활하고 효율적입니다.

이러한 기능을 통해 개발자는 메일 서비스와 상호 작용하는 복잡한 부분을 관리하는 대신 비즈니스 로직에 더 집중할 수 있습니다.

OAuth2와 Aspose.Email을 활용한 이메일 전송 전체 C# 코드 예제

다음 예제는 Aspose.Email for .NET을 통해 Graph API를 사용해 이메일을 전송하는 전체 과정을 보여줍니다. 몇 줄의 코드만으로 OAuth2 액세스 토큰을 생성하고, Graph 클라이언트를 초기화하며, 메시지를 작성하고 전송할 수 있습니다:

  1. 다음의 인스턴스를 생성합니다. IGraphClient 호출하여 GetClient 메서드.
  2. 다음의 eml 객체를 초기화합니다 MailMessage 클래스를 사용하고 속성을 설정합니다.
  3. 다음 방법으로 메시지를 전송합니다 전송 라이브러리 메서드.

전체 OAuth2 및 Microsoft Graph 통합 예제

using Aspose.Email;
using Aspose.Email.Clients.Graph;

// Generate the access token
AccessTokenProvider tokenProvider = new AccessTokenProvider();

// Create a Graph client
IGraphClient client = GraphClient.GetClient(tokenProvider, "tenant ID");

// Create a new message
var eml = new MailMessage(fromAddress, toAddress, subject, body);
   
// Send message
client.Send(eml);

첨부 파일이 있는 이메일 전송

Microsoft Graph를 통해 첨부 파일이 있는 이메일을 보내는 것은 Aspose.Email for .NET 라이브러리를 사용하면 간단하고 효율적입니다. 첨부 파일은 문서, 이미지, PDF와 같은 모든 파일 형식이 가능하며 이메일 메시지와 함께 전송됩니다. 이는 보고서, 프레젠테이션 또는 기타 중요한 문서를 .NET 애플리케이션을 통해 직접 공유할 때 특히 유용합니다.

다음 코드 스니펫에서는 이메일을 보내기 전에 MailMessage 객체에 첨부 파일을 추가합니다:

이메일 전송 샘플 코드 - C#

// Add attachments to the message
Attachment attachment = new Attachment("path_to_attachment");
eml.Attachments.Add(attachment);

첨부 파일 처리 방식

  1. Loading Attachments: 첨부 파일은 지정된 파일 경로("path_to_attachment")에서 로드되며, 로컬 파일이거나 스트림일 수 있습니다. Attachment 클래스를 사용하면 모든 파일 유형을 첨부 파일로 추가할 수 있어 매우 유연합니다.
  2. Adding to the Email: 첨부 파일을 만든 후, 이를 이메일 메시지에 다음을 사용해 추가합니다: Attachments.Add() 메서드. 이 메서드는 파일을 MailMessage 객체의 첨부 파일 컬렉션이 자동으로 MS Graph를 통해 메시지를 보낼 때 포함됩니다.
  3. Sending the Email: 첨부 파일을 메시지에 추가하면, 전송 메서드는 IGraphClient 인터페이스는 모든 첨부 파일을 포함한 이메일을 전송합니다.

여러 첨부 파일 처리

각 파일마다 과정을 반복하여 여러 첨부 파일을 쉽게 추가할 수 있습니다. 여러 파일을 첨부하는 방법은 다음과 같습니다:

Attachment attachment1 = new Attachment("file1.pdf");
Attachment attachment2 = new Attachment("image.png");
eml.Attachments.Add(attachment1);
eml.Attachments.Add(attachment2);

첨부 파일 크기 제한

Microsoft Graph는 이메일 메시지에 대한 크기 제한을 적용한다는 점을 유념하세요. 첨부 파일을 포함한 이메일 전체 크기는 25 MB를 초과할 수 없습니다. 더 큰 파일을 보내야 할 경우, 클라우드 스토리지 서비스(예: OneDrive)에 업로드하고 파일 링크를 전송하는 것을 고려하십시오.

더 알고 싶으신가요? 전체 Microsoft Graph 지원을 살펴보세요

Aspose.Email for .NET은 Graph API를 통한 확장된 Microsoft 365 통합을 제공합니다. 또한 다음을 수행할 수 있습니다:

  • 폴더, 메시지 및 초안을 관리

  • 첨부 파일 및 카테고리 작업

  • 연락처, 캘린더 이벤트, 노트북 등을 관리

전체 탐색 Microsoft Graph 기능.

.NET API 설치

잠시 시간을 내어 라이브러리를 프로젝트에 설치하고 Aspose.Email for .NET으로 보안하고 확장 가능한 Microsoft 365 이메일 솔루션을 구축해 보세요. 가장 편리한 방법을 선택하십시오:

  • 사용 NuGet 패키지 관리자
  • 필요한 참조 어셈블리
  • 또는 Visual Studio의 Package Manager Console에서 다음 명령을 사용하십시오:

명령


PM> Install-Package Aspose.Email