이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 40028|회답: 1

[.NET 코어] ASP.NET 코어로 메시지 전송

[링크 복사]
게시됨 2017. 5. 3. 오후 3:32:37 | | |
머리말

현재 .NET Core는 SMTP 프로토콜을 지원하지 않는다는 것을 알고 있습니다. 이메일의 발신 기능을 사용할 때는 목적을 달성하기 위해 일부 서드파티 컴포넌트를 사용해야 합니다. 오늘은 두 가지 오픈 소스 이메일 전송 컴포넌트, MailKit과 FluentEmail을 각각 소개하겠습니다.

메일킷

ASP.NET Core에서는 MailKit을 사용해 메시지를 보낼 수 있으며, 크로스 플랫폼, IMAP, POP3, SMTP 등 다양한 프로토콜을 지원합니다.

다음 방법으로 설치할 수 있습니다:


이메일 보내는 간단한 예시를 소개합니다:



보내고자 하는 본문 내용이 HTML이라면 다음 도구를 사용할 수 있습니다:




Fluent Email도 오픈 소스 프로젝트로, Razor 템플릿을 사용해 이메일을 보낼 수 있고, Mailgun 같은 서드파티 이메일 발신기와도 연동할 수 있지만, 이 패키지는 .NET 4.6 하에서만 SMTP를 지원합니다. 다음 명령어를 사용해 설치할 수 있습니다:


이메일을 보내는 방법은 매우 간단합니다:



또는 Razor 템플릿을 사용해 다음을 보낼 수도 있습니다:


Email.DefaultRenderer는 FulentEmail에 어떤 렌더러를 사용할지 알려주고(직접 구현할 수도 있습니다), Razor 문법의 템플릿 문자열 내용이 포함된 템플릿 템플릿을 제공한 뒤, UsingTemplate을 사용해 렌더를 렌더링합니다.

디스크 위의 CSHTML 템플릿

Razor 템플릿 파일이 크고 문자열을 사용하기 어렵다면, 템플릿 파일을 디스크에 저장하고 다음과 같이 불러올 수 있습니다:




Mailgun으로 메시지 전송하기

Mailgun에 대해 잘 모르는 분들도 있을 수 있지만, Mailgun은 해외 우편 서비스 회사로, 유명한 깃허브 이메일 서비스가 호스팅되어 있고, 무료 Maingun 계정으로 월 10,000통의 이메일을 보낼 수 있어 많은 중소기업 웹사이트에 충분한 수치입니다.

Mailgun을 사용해 이메일을 보낼 때는 먼저 계정을 등록해야 하며, 그 후 Mailgun에서 제공하는 Rest API를 사용해 이메일을 관리할 수 있습니다. Mailgun과 FluentEmail 연동은 다음과 같은 패키지만 추가하면 됩니다:


Mailgun 등록 후 API 키와 2차 도메인 이름이 할당되며, 다음과 같이 구성해야 합니다:




요약

위 예시들에서 MailKit과 FluentEmail이 각각의 장단점을 가지고 있음을 알 수 있습니다. MailKit의 장점은 여러 프로토콜을 지원하고 크로스 플랫폼이라는 점이지만, 단점은 Razor를 지원하지 않고, Mailgun을 사용할 경우 직접 통합해야 한다는 점입니다. FlentEmail의 장점은 Razor 템플릿을 지원하고 Mailgun을 캡슐화한다는 점이지만, 단점은 SMTP 프로토콜이 아직 .NET Core를 지원하지 않는다는 점입니다.

요약하자면, Mailgun을 사용해 이메일을 보내신다면 FluentEmail을 선택해야 하고, SMTP 프로토콜을 사용해 메일 서버에 연결해 이메일을 보내고 싶다면 MailKit을 사용하는 것이 좋습니다.





이전의:.net/c# 구글 프로토콜 버퍼 튜토리얼
다음:왜 .net/c# 작업이 Thread보다 느리나요?
게시됨 2021. 11. 4. 오후 1:57:02 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com