Outlook 프로그래밍 메일 전송 문제 Classic, New

이 명원 20 평판 포인트
2025-11-20T09:40:09.75+00:00

현재 window 프로그램에서 outlook 이메일 전송기능을 테스트 중입니다.
(C# net6.0 사용, Microsoft.Office.Interop.Outlook COM 종속성 추가)

static void TestDisplayMethod()

{

Outlook.Application outlookApp = null;

Outlook.MailItem mailItem = null;

outlookApp = new Outlook.Application();

mailItem = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);

mailItem.To = "test@example.com";

mailItem.Subject = "테스트";

mailItem.Display(false); }

다음 코드로 아웃룩 프로그램을 띄우고 사용자가 수정 후 전송 버튼을 눌러 처리 하려고합니다.

Outlook(Classic) 프로그램을 실행시켜놓고 위 메소드를 실행하면 새 매일 화면이 뜨고 수정을 하여 메일을 전송해도 정상적으로 전송이 됩니다.

문제는
Outlook(Classic) 을 실행하지 않고 Outlook(New) 를 실행 후 위 메소드를 실행하면 새 매일 화면이 뜨고(구버전 새 메일 화면이 뜨긴 함) 사용자가 수정을 할 순 있으나 보내기를 누르면 전송되지 않습니다.

이때 Outlook(Classic)을 들어가보면 보낼편지함 에는 남아있고 Outlook(New) 보낼 편지함에는 남아있지 않습니다.

계정은 동일하고 모두 같은 MicrosoftExchange를 사용하고 있습니다.저는 구버전 신버전 상관없이 메일전송에 성공했으면 좋겠습니다. 해결방법이 있을까요?

Outlook | Windows | Windows용 클래식 Outlook | 기업용
댓글 0개 설명 없음

질문 작성자가 수락한 답변
Steven-N 25,315 평판 포인트 Microsoft 외부 직원 중재자
2025-11-20T10:57:02.4233333+00:00

참고: 이 답변은 자동으로 번역되었습니다. 그 결과 문법 오류나 어색한 표현이 포함될 수 있습니다.

안녕하세요, Lee Myung-won

Microsoft Q&A 포럼 지원에 문의해 주셔서 감사합니다.

제가 알고 있는 바로는, 이 동작은 설계상 정상입니다. 새로운 Windows용 Outlook은 COM/VSTO 추가 기능이나 Outlook 개체 모델 자동화를 지원하지 않습니다. Outlook.ApplicationMailItem을 대상으로 하는 자동화는 클래식 Outlook for Windows에서만 계속 작동합니다. 코드가 COM을 통해 메일 항목을 생성하고 표시하면, 해당 항목은 클래식 클라이언트/스토어에 속합니다. 클라이식 Outlook이 활성 상태로 전송을 처리하지 않거나 기본 클라이언트가 아닌 경우, 새 Outlook이 화면에 표시되더라도 메시지는 전송되지 않습니다. Microsoft의 권장 사항은 COM/VSTO 기반 자동화 및 확장성을 중단하고, 새 Outlook에서는 Outlook 웹 추가 기능(Office.js) 또는 Microsoft Graph로 마이그레이션하는 것입니다.

언급된 바와 같이 Develop Outlook add-ins for the new Outlook on Windows:

VSTO and COM add-ins aren’t supported in the new Outlook on Windows… migrate to an Outlook web add-in

이 문제에 대한 제안된 접근 방법 중, 제 관점에서는 Microsoft Graph를 사용하여 초안 작성 및 전송을 시도할 수 있습니다.

사용자 편집 없이 프로그래밍 방식으로 메일을 전송하는 것이 괜찮다면, Graph를 활용하세요(SendMail 또는 초안 생성 → 업데이트 → 전송). 이 방식은 **Outlook 클라이언트(새 버전/클래식)**에 관계없이 작동합니다. 그 이유는 메일박스 서비스 수준에서 동작하기 때문입니다. 자세한 내용은 [LINK][LINK]를 참고하시기 바랍니다.

// Requires Microsoft.Graph SDK and an authenticated GraphServiceClient
var message = new Microsoft.Graph.Models.Message {
    Subject = "Test",
    Body = new Microsoft.Graph.Models.ItemBody {
        ContentType = Microsoft.Graph.Models.BodyType.Text,
        Content = "Hello from Graph"
    },
    ToRecipients = new List<Microsoft.Graph.Models.Recipient> {
        new() { EmailAddress = new() { Address = "test@example.com" } }
    }
};
// Send immediately (saveToSentItems=true)
await graphClient.Me
    .SendMail(message, true)
    .Request()
    .PostAsync();

이 스레드에 연결된 일부 리소스는 영어로만 제공됩니다. 한국어 콘텐츠를 선호하거나 필요로 하는 분들께 불편을 끼쳐드려 진심으로 사과드립니다. 안타깝게도 해당 자료의 한국어 버전은 현재 제공되지 않습니다. 콘텐츠 이해에 도움이 필요하신 경우, 신뢰할 수 있는 번역 도구나 서비스를 이용하시기를 권장드립니다.

도움이 되었기를 바랍니다. 추가로 궁금한 사항이 있으시면 언제든지 말씀해 주세요.

감사합니다.


답변이 도움이 된다면 ""답변 수락""을 클릭하고 친절하게 추천해 주세요. 이 답변에 대해 추가 질문이 있으시면 ""댓글""을 클릭해 주세요.

참고: 이 스레드와 관련된 이메일 알림을 받으려면 [당사 문서]의 안내 절차를 따라 이메일 알림을 활성화해 주시기 바랍니다.

이 대답이 도움이 되었나요?


0 추가 답변

정렬 기준: 가장 유용함

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.