문제

ASP.net 및 C#으로 개발된 웹 응용 프로그램이 회사 인트라넷에서 실행되고 있습니다.이 응용 프로그램의 모든 사용자는 예외 없이 모두 Microsoft Outlook을 사용하고 있으므로 응용 프로그램이 클라이언트 측에서 Outlook 메시지를 열 수 있었으면 좋겠습니다. Office가 서버가 아닌 데스크톱에서 실행되도록 설계되었다는 점을 이해하지만 클라이언트 측에서 Word 또는 Excel 문서를 만드는 데 문제가 없습니다.

Microsoft.Office.Interop.Outlook 네임스페이스와 서버에 설치된 Outlook을 사용하여 Outlook 개체를 인스턴스화하는 코드가 있습니다.서버에서 코드를 실행하려고 할 때 "기계-디프tault 권한 설정에 CLSID {000C101C-0000-0000-C000-000000000046을 사용하여 COM 서버 응용 프로그램에 대한 로컬 활성화 권한을 부여하지 않는 DCOM 소스 오류 메시지가 나타납니다. } 사용자 에게이 보안 권한은 구성 요소 서비스 관리 도구를 사용하여 수정할 수 있습니다. " 구성 요소 서비스 도구를 사용하여 권한을 수정했지만 여전히 동일한 오류가 발생합니다.

이를 극복할 수 있는 방법이 있습니까? 아니면 Outlook을 서버측 코드에서 클라이언트측으로 열 수 없기 때문에 이것이 무익한 작업입니까?

Mailto는 이메일의 길이가 너무 길어서 작동하지 않습니다.또한 이를 보내는 사용자는 수신자를 위한 텍스트에 눈요기를 추가해야 합니다.

도움이 되었습니까?

해결책

서버 측 코드에서는 클라이언트의 항목을 열 수 없습니다.원하는 작업(또는 ActiveX나 임베디드 .NET 등의 클라이언트 측 작업)을 수행하려면 페이지에서 스크립트를 사용해야 합니다.

다음은 웹페이지에서 Outlook MailItem을 호출하는 샘플 Javascript입니다.이는 서버 측 코드에서 페이지에 쉽게 삽입되어 클라이언트에서 실행될 수 있습니다.

http://www.codeproject.com/KB/aspnet/EmailUsingJavascript.aspx

다른 팁

(힌트:질문에 형식 지정)

mailto 링크나 formmail 유형 페이지에 어떤 문제가 있는지 이해할 수 없습니다.

회사의 모든 사람이 Outlook을 사용하는 경우 표준 "mailto" 링크를 사용하면 항상 Outlook이 열립니다.당신이 이것을 과도하게 엔지니어링하고 있는 것 같습니다.

기존 이메일을 열시겠습니까, 아니면 새 이메일을 만드시겠습니까?

귀하의 질문을 오해했을 수도 있지만 다음과 같은 링크를 제공할 수 있습니다.

mailto:recipient@email.tld?subject=This%20is%20the%20subject&body=안녕하세요%20님!

사용자가 해당 링크를 클릭하면 새 Outlook-E-Mail이 열리고 수신자는 receive@email-tld이고 제목은 "This is the subject"이고 본문은 "Hello there!"입니다.이 모든 필드는 이미 링크에서 채워져 있습니다.

요청이 있어서 그냥 버릴게요.

Mailto에는 많은 단점이 있습니다.주로 크기.발신자가 이메일 텍스트에 많은 형식을 지정해야 하기 때문에 생성된 HTML 코드는 mailto를 사용할 때 실패하는 많은 공간을 차지할 수 있습니다.

그래도 제안해주셔서 감사합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top