Amazon Simple Email Service (SES)설정순서
1.Amazon SES 클릭해서 설정화면으로 이동
2.Email Address 설정
①SES Home의 Identity Management서브메뉴에서 Emaiil Address를 클릭합니다.
②
Verify a New Email Address버튼을 클릭해서 신규 이메일 등록화면으로 이동합니다.
③등록할 이메일을 입력후에 Verify Thie Email Address버튼을 클릭합니다.
Amazon SES에서 등록한 메일주소로 확인용 메일이 발송됩니다.
④등록환 메일로 발송된 확인용 메일의 링크를 클릭해서 SES의 메일등록을 확정합니다.
⑤Amazon SES Home으로 돌아가서 Email Address서브화면을 갱신하면 등록한 메일주소의 Status가 verified는 변경되어 있는것이 확인되면 등록이 완료됩니다.
3.SES이용해서 메일송신 테스트
Amazon SES에서는 3가지(Amazon SES Home의 Send a Test Email, Simple Mail Transfer Protocol (SMTP), API) 방법으로 메일송신이 가능합니다.
①Amazon SES Home의 Send a Test Email의 메일송신 방법
Amazon SES Home의 Email Address서브화면에서、등록한 메일주소를 선택하고 Send a Test Email버튼을 클릭합니다.
Send Test Email 다이얼로그화면에서 아래와같이 입력후
Send Test Email버튼을 클릭해서 메일을 송신합니다.
등록한 이메일주소에 아래와 같은 메일이 확인되면 완료됩니다.
②Simple Mail Transfer Protocol (SMTP)의 메일송신 방법
아래의 C#용 샘플코도를 이용해서 메일발송가능한 프로그램을 작성합니다.
※.NET Framework버젼 4.5이상이 필수조건입니다.
using System;
using System.Net;
using System.Net.Mail;
namespace AmazonSESSample
{
class Program
{
static void Main(string[] args)
{
// 메일의 보내는사람의 주소와 이름
String FROM = "sender@example.com";
String FROMNAME = "Sender Name";
// 메일의 받는사람 주소
String TO = "recipient@amazon.com";
// Amazon SES SMTP 유저명
String SMTP_USERNAME = "smtp_username";
// Amazon SES SMTP 패스워드
String SMTP_PASSWORD = "smtp_password";
// Amazon SES Region
String HOST = "email-smtp.us-west-2.amazonaws.com";
// 포트번호
int PORT = 587;
// 메일타이틀
String SUBJECT =
"Amazon SES test (SMTP interface accessed using C#)";
// 메일본문
String BODY =
"<h1>Amazon SES Test</h1>" +
"<p>This email was sent through the " +
"<a href='https://aws.amazon.com/ses'>Amazon SES</a> SMTP interface " +
"using the .NET System.Net.Mail library.</p>";
// MailMessage설정
MailMessage message = new MailMessage();
message.IsBodyHtml = true;
message.From = new MailAddress(FROM, FROMNAME);
message.To.Add(new MailAddress(TO));
message.Subject = SUBJECT;
message.Body = BODY;
// SMTP에서 메일송신
using (var client = new System.Net.Mail.SmtpClient(HOST, PORT))
{
// SMTP인증설정
client.Credentials =
new NetworkCredential(SMTP_USERNAME, SMTP_PASSWORD);
// SSL사용
client.EnableSsl = true;
// 메일송신실행
try
{
Console.WriteLine("Attempting to send email...");
client.Send(message);
Console.WriteLine("Email sent!");
}
catch (Exception ex)
{
Console.WriteLine("The email was not sent.");
Console.WriteLine("Error message: " + ex.Message);
}
}
}
}
}
③API의 메일송신 방법
아래의 C#용 샘플코도를 이용해서 메일발송가능한 프로그램을 작성합니다.
※.NET Framework버전 4.6.1이상이 필수조건입니다.
※NuGet의 AWSSDK.Core 패키지(버전 3.3.19)설치가 필요합니다.
※NuGet의 AWSSDK.SimpleEmail 패키지(버전 3.3.6.1)설치가 필요합니다.
using Amazon;
using System;
using System.Collections.Generic;
using Amazon.SimpleEmail;
using Amazon.SimpleEmail.Model;
namespace AmazonSESSample
{
class Program
{
// 메일의 보내는사람 주소
static readonly string senderAddress = "sender@example.com";
// 메일의 받는사람 주소
static readonly string receiverAddress = "recipient@example.com";
// 메일의 타이틀
static readonly string subject = "Amazon SES test (AWS SDK for .NET)";
// 메일의 본문
static readonly string textBody = "Amazon SES Test (.NET)\r\n"
+ "This email was sent through Amazon SES "
+ "using the AWS SDK for .NET.";
// 메일의HTML설정
static readonly string htmlBody = @"<html>
<head></head>
<body>
<h1>Amazon SES Test (AWS SDK for .NET)</h1>
<p>This email was sent with
<a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
<a href='https://aws.amazon.com/sdk-for-net/'>
AWS SDK for .NET</a>.</p>
</body>
</html>";
static void Main(string[] args)
{
// Amazon Simple Email Service (SES)API의 메일송신 실행
using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2))
{
var sendRequest = new SendEmailRequest
{
Source = senderAddress,
Destination = new Destination
{
ToAddresses =
new List<string> { receiverAddress }
},
Message = new Message
{
Subject = new Content(subject),
Body = new Body
{
Html = new Content
{
Charset = "UTF-8",
Data = htmlBody
},
Text = new Content
{
Charset = "UTF-8",
Data = textBody
}
}
},
};
try
{
Console.WriteLine("Sending email using Amazon SES...");
var response = client.SendEmail(sendRequest);
Console.WriteLine("The email was sent successfully.");
}
catch (Exception ex)
{
Console.WriteLine("The email was not sent.");
Console.WriteLine("Error message: " + ex.Message);
}
}
Console.Write("Press any key to continue...");
Console.ReadKey();
}
}
}
'Aws' 카테고리의 다른 글
AWS에서 웹사이트 구축 시 발생하는 대표적인 에러와 해결 방법 (0) | 2024.09.25 |
---|---|
AWS를 이용한 AI 챗봇 만들기 (0) | 2024.01.02 |
AWS 성능향상 방법 (0) | 2023.09.11 |
Github Actions을 이용한 Aws S3에 Vue프로젝트 배포하기 2 (0) | 2022.03.01 |
Github Actions을 이용한 Aws S3에 Vue프로젝트 배포하기 1 (0) | 2022.02.28 |
댓글