참고:
- 이 자습서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 완료하려면 이 값을 클라우드 환경에 해당하는 값으로 대체하십시오.
Oracle Cloud Infrastructure Email Delivery 서비스를 사용하도록 C-Sharp 코드 설정
소개
Oracle Cloud Infrastructure Email Delivery 서비스는 안전하고 대량 마케팅 및 거래 이메일을 전송하기 위한 빠르고 안정적인 관리 솔루션을 제공합니다.
이메일 전송 서비스는 영수증, 사기 감지 경고, 다중 요소 ID 확인 및 비밀번호 재설정과 같은 미션 크리티컬 통신을 위해 애플리케이션 생성 이메일을 전송하는 데 필요한 도구를 제공합니다.
참고: 이 플랫폼은 대량/마케팅 및 거래 이메일 모두에 최적화되며 개인 서신 이메일에는 최적화되지 않습니다.
메일 전송을 위해 최신 프로토콜을 사용하는 OCI(Oracle Cloud Infrastructure) 전자메일 전송 서비스를 통해 C#으로 전자메일을 보내려는 경우 .NET SmtpClient 클래스는 더 이상 사용되지 않습니다. 그러나 다양한 최신 프로토콜을 지원하는 이메일 클라이언트가 있는 Mailkit이라는 오픈 소스 패키지를 사용할 수 있습니다.
Oracle Cloud Infrastructure의 Email Deliverability 팀은 주요 전송 가능성 측정지표를 사용하여 플랫폼을 관리하여 이메일에 가능한 최상의 전송 평판을 보장합니다. 전자메일 전송 서비스를 사용하여 전자메일을 보낼 때 다음 항목이 제공됩니다.
- MTA(Mail Transfer Agents)의 고유한 사서함 제공업체 SMTP 구성
- 반송 수집
- 사용자 불만 수집
- 이메일 인증 표준
- 전달성 성과
이메일 딜리버리를 사용하면 발신 이메일 서버가 됩니다. 기존 이메일 서버가 있는 경우 해당 서버를 유지하고 이메일 딜리버리를 통해 전송되도록 구성할 수 있습니다. 이메일 딜리버리 서비스는 피드백 루프 및 플랫폼 평판을 자동으로 처리합니다.
목표
Oracle Cloud Infrastructure Email Delivery 서비스를 사용하도록 C# 코드를 설정합니다.
필요 조건
-
GitHub Mailkit 주소: https://github.com/jstedfast/mailkit.
-
최신 프로토콜을 사용하고 MailKit를 옵션으로 추천할 때 새로운 개발에
SMTPClient클래스를 사용하지 않는 방법에 대해 Microsoft의 추천을 참조하십시오.
-
MailKit는 환경이 이미 .NET로 설정되어 있고 코드가 전자 메일을 보내는 프로젝트로 생성된 경우 설치가 매우 쉽습니다. 다음 명령을 실행하여 MailKit를 설치하십시오.
\>\> dotnet add package MailKit \--version 3.5.0
작업 1: OCI 전자메일 전달 구성
참고: 다음 구성은 예용이며 서비스 구성을 위한 모범 사례를 고려하지 않습니다.
자세한 내용은 Deliverability Best Practices를 참조하십시오.
-
Oracle Cloud 포털에서 OCI 이메일 딜리버리 서비스에 액세스합니다.

-
메시지를 보낼 도메인을 만듭니다.

-
메시지를 전송하도록 승인된 발신자를 구성합니다.

작업 2: C# 코드 설정
-
다음은 필요에 따라 수정할 수 있는 예제 코드입니다. 승인된 발신자는 태스크 1과 같이 OCI Email Delivery 콘솔에서 이미 생성되어 있어야 합니다.
using System; using MailKit.Net.Smtp; using MailKit; using MimeKit; namespace MyApp // Note: actual namespace depends on the project name. { internal class Program { static void Main(string\[\] args) { try { // Replace these values with the actual values for your email account and OCI Email Delivery service var fromAddress = \"[[user@testdomain.com]{.underline}](mailto:userfrom@testdomain.com)\"; var toAddress = \"[[user@example.com]{.underline}](mailto:userto@example.com)\"; var smtpUsername = \"ocid1.user.oc1..aaaaaaaa4xxxxxxxxxg6vwabewu6f4xxxxxxxxxxhpbe3d56gc7ljwt2a@ocid1.tenancy.oc1..[aaaaaaaah2c25pobzyzvkcznnozputxfxtz3qvewrqaga7z66tdjrgvigbiq.ck.com]{.underline}\"; var smtpPassword = \"XXXXXXXXXXX\"; var smtpHost = \"[[smtp.]{.underline}email[.us-ashburn-1.oci.oraclecloud.com]{.underline}](http://smtp.email.us-ashburn-1.oci.oraclecloud.com)\"; var smtpPort = 587; var message = new MimeMessage (); message.From.Add (new MailboxAddress (\"Ivan Vasquez\", fromAddress)); message.To.Add (new MailboxAddress (\"Ivan Vasquez\", toAddress)); message.Subject = \"Test Email from OCI\"; message.Body = new TextPart (\"Html\") { Text = @\" \<h1\>OCI Email Delivery test\</h1\> \<p\>This email was sent from Email Delivery Service\</p\>\" }; using (var client = new SmtpClient ()) { client.Connect (smtpHost, smtpPort, false); client.Authenticate (smtpUsername, smtpPassword); client.Send (message); client.Disconnect (true); } Console.WriteLine(\"Email send successfully !!\"); } catch (Exception ex) { Console.WriteLine(\"Error sending email: \" + ex.Message); } } } } -
\>\>dotnet build명령을 사용하여 코드를 작성합니다. 오류가 표시되지 않습니다.
-
\>\>dotnet run명령을 실행합니다. 전자메일이 성공적으로 전송되었습니다.

관련 링크
승인
Authors - Leandro Camargo(클라우드 전문가 A-Team), Ivan Vasquez(클라우드 전문가 A-Team)
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Set up C-Sharp code to use Oracle Cloud Infrastructure Email Delivery service
F81094-01
May 2023
Copyright © 2023, Oracle and/or its affiliates.