.NET 애플리케이션에서 이메일을 보내는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/57919

  •  09-06-2019
  •  | 
  •  

문제

저는 발생할 수 있는 모든 예외를 포착하기 위한 기본 제공 예외 처리기가 있는 Windows Forms(.NET 3.5) 응용 프로그램을 작업하고 있습니다.예외 처리기가 사용자에게 오류 보고서를 보내다 버튼을 누르면 앱이 내 FogBugz 이메일 주소로 이메일을 보내게 됩니다.

이를 수행하는 가장 좋은 방법은 무엇이며 주의해야 할 "문제"가 있습니까?

도움이 되었습니까?

해결책

설명된 대로 SmtpClient 클래스를 사용하고 싶을 것입니다. 여기.
문제가 없습니다. 이메일을 보내는 것은 매우 쉽습니다.

다른 팁

클라이언트 자격 증명에 대해 걱정할 필요가 없으며 Esteban에서 제안한 대로 SmtpClient를 사용하면 됩니다.사용자는 구성 시 유효한 Smtp 서버 URL을 제공해야 하지만 대부분의 ISP는 네트워크(클라이언트 중 하나)에 있는 경우 익명 smtp를 허용합니다. 사용자가 ISP smtp 서버에 대한 URL을 입력하는 한 가장 사람들은 아무런 문제가 없을 것입니다.

메모:SmtpClient 개체에 대한 구성 옵션을 저장하기 위해 .config 파일에 미리 정의된 섹션이 있습니다.거기에 설정을 넣으면 이메일을 보낼 때 코드에 어떤 것도 명시적으로 설정할 필요가 없습니다.섹션의 예는 다음과 같습니다.

<system.net>
   <mailSettings>
      <smtp deliveryMethod="Network" from="stuff@somewhere.com.au">
         <network host="smtp.somewhere.com.au" />
      </smtp>
   </mailSettings>
</system.net>

사용자 이름과 비밀번호는 선택 사항입니다.Intellisense는 구성 파일의 이러한 부분에서 작동합니다.

편집하다:내 코드 예제를 약간 수정했습니다.

통제된 환경에서는 SmtpClient를 사용하는 것이 답이 될 것입니다.그러나 사용자의 컴퓨터에서는 전송을 위해 SMTP 서버가 필요합니다.

사용자에게 SMTP 자격 증명을 묻는 메시지를 표시할 수 있지만 귀하의 경우에는 이것이 비현실적이라고 생각합니다.사용자로서 나는 임의의 앱(스팸 등)에 내 SMTP 자격 증명을 제공하고 싶지 않습니다.또한 자신의 SMTP 자격 증명을 앱에 하드 코딩하고 싶지 않을 것입니다. 악의적인 사용자가 해당 자격 증명을 스니핑하고 서버를 사용하여 SPAM을 보내는 것은 쉬운 일이 아닙니다.

이상적으로는 사용자의 메일 에이전트를 사용하여 이메일을 보낼 수 있습니다.나는 당신이 mailto를 공식화하고 실행할 수 있을 것이라고 생각했습니다.URL이지만 메시지의 본문이나 첨부 파일을 지정할 수 있는지 확실하지 않습니다.

Fogbugz를 사용하고 있다고 말씀하셨습니다.

노력하다 http://www.fogcreek.com/FogBugz/docs/60/topics/customers/BugzScout.html?isl=59722또는 http://www.fogcreek.com/FogBugz/blog/post/C-wrapper-for-the-FogBugz-API.aspx?isl=59722

FB 설치 디렉토리에 몇 가지 샘플 코드가 있습니다.나는 Michael Pryor에게 다음과 같이 확인했습니다.라이센스를 부여하고 그는 자신의 코드를 사용해도 괜찮지만 YMMV이므로 확인하겠다고 말했습니다.

좋은 출발점을 제공합니다.

제3자를 확인해 볼 수도 있습니다. aspNet이메일 System.Net.Mail이 제공하는 것보다 더 많은 유용한 기능을 제공하는 라이브러리입니다.

설명된 대로 SmtpClient 클래스를 사용하고 싶을 것입니다. 여기.문제가 없습니다. 이메일을 보내는 것은 매우 쉽습니다.

광범위한 System.Net.Mail FAQ 위치 여기.

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