ݺߣ

ݺߣShare a Scribd company logo
---------- 1
AWS SES 로
이메일보내기 연습
https://fb.com/me.adunhansa
https://twitter.com/arahansa
http://adunhansa.tistory.com/
ABOUT
CONTACT
SOURCE
1
1. 작성자 소개 2
-------------------------------------------------------------------
평소 정리를 즐겨합니다. 한 때
동영상강좌도
만들다보니.. 비실명과 만화캐릭터를 쓰네요
양해 부탁드립니다 ㅎㅎ
알아본 것들 3
- AWS SES 의 설정
• 도메인 간의 설정
• 테스트 이메일
• 자바 이메일 코드
• AWS Credential 설정
• 보내지나?
개요 4
• 최근에 어쩌다보니 인프라&클라우드서비스류들에
관심이 많이 생기게 되었습니다...
• 이메일을 보낼 일이 생겼었는데, 이메일을 보내는 법은
많지만 그 중 하나를 골라서 했던 작업을 정리가
안된채로 기록합니다... 잘못된 것이 있다면
얘기해주세요~
• 초초보 AWS 입문자 아라한사의, 그냥 의식의 흐름대로
적습니다.ㅎㅎ
다 적고 나서 추가한 내용 5
• 다 적고 나니…한글 문서가 있다는 걸
뒤늦께 깨달았다.(털썩)..
https://docs.aws.amazon.com/ko_kr/ses/latest/
DeveloperGuide/Welcome.html
• 그래도 정리하면서 본 내용이 아까워서
적는다.
도메인을 사자! 6
• 우선 도메인을 사겠습니다. 알아본 도메인 업체로는 1) GODADDY, 2)
FREENOM 3) 호스팅케이알이 있었는데
GODADDY 는 장기적으로 볼 때 비싼 것같고,
FREENOM(http://www.freenom.com/) 은 tk로 끝나는 도메인을 공짜로
살 수 있는데 이 슬라이드를 적기전에 메일설정 실패를 해서 ..
패쓰(해보실분은 해보셔도됩니다)
• 그래서 세번째로 호스팅케이알로 고르게 되었습니다. 도메인 사는
과정은 생략합니다.
그러면 EC2를 생성해보자.
그전에!
7
• EC2를 생성하는 과정은 너무 뻔하니..이 또한 생략합니다.
http://pyrasis.com/aws.html 를 보시면 됩니다. 단 !
• 아 이메일 인증도 여기를 봅시다.
http://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter27/01
여기서 중요한 점은 EC2 인스턴스를 만들기 전에 IAM 에서 SES를 위한
ROLE을 만들어서
미리 설정을 하겠습니다. 해당 관련 내용은
여기 (http://wildpup.cafe24.com/archives/673) 에 잘 나타나져 있습니다.
해당 블로그에 나온 대로 Roles 와 Users를 만들어줬습니다
자 그럼 EC2생성을...! 하기전 8
• 아차, 근데 저의 경우는 블로그들과 뭔가 다른 것이.. EC2를
생성하면서 SES가 설정된 ROLE을 지정을 해도 이메일이
가지지가 않았습니다. 알고보니 Users 에서 key/secret을
생성해야했던 것이죠!! 그리고 이미 삽질이 다 끝났으니
적지만 여기서 Attach Policy 에서 SES policy를
추가해줬습니다.
테스트부터.. 9
• 자 그럼 자바로 SES보내는 코드를 구해봅니다. 검색하니 금방 나옵니다.
https://docs.aws.amazon.com/ko_kr/ses/latest/DeveloperGuide/send-using-sdk-java.html
• 하지만 그대로 실행해보면 뭔가 문제가 발생합니다. Key 같은 것이 없다고
나옵니다. 소스를 보면 설정하는 곳이 없습니다.. 후..^^; 저는 맨첨에 EC2를
만들면서 role설정을 하면 자동으로 찾는 줄 알고 삽질을 ㅠㅠ 게다가 문서를 대충
읽고 저 client 객체에는 생성자 아규먼트가 필요가 없는 것인가!! 하고 생각을 ㅠㅠ..
아무튼. . 이왕 본 김에 소스의 주석에 나와있는 링크를 조금 자세히 보겠습니다.
AWS Credintials 를 알게 되었다! 10
• 아 그러니까.. SDK에 credentials을 줘야 하는데 여러가지 방법이 있다
이 이야기로군요… Root account aws access를 사용하는 대신에
IamUsers 를 사용하기를 권장하고 또 기본 provider chain 을 사용하기를
권장하는 군요..
음 방법이 여러갠데 몇가지만;; 11
• Environment Variable 에 등록을
해보겠습니다;
env 등록해보기 -> 실패ㅠ 12
• env 로 등록해봤는데… 잘 안됐다-_-; 다른
방법도 많으니 굳이 recommend 가
아니더라도 다른 방법을 해보자.
Recommend 는 아니지만, 직접credential을
넣어줘보자;
13
• 소스 주석에 나온 를 잠깐 대충 읽어서
맨처음에는 이메일 클라이언트 생성자에
아무것도 못 넣는 줄 알았는데.. API 문서를
보니 그건 또 아니었다.
14
• 아..흠… 아무튼 잠깐 테스트코드에 액세스키와 시크릿키를 적어주고
( IAMUsers에서 받았음) 돌려보면 성공.. (단 인증받지 않은 이메일로
보내는 경우에는 직접 아마존에 case를 문의해야합니다)
이야기거리들 15
• Mvnrepository+ 스프링?
• Credential :
https://blogs.aws.amazon.com/security/post/Tx3D6U6WSFGOK2H/A-
New-and-Standardized-Way-to-Manage-Credentials-in-the-AWS-SDKs
• Api docs :
http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazona
ws/services/simpleemail/AmazonSimpleEmailServiceClient.html
• http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazona
ws/auth/AWSCredentials.html
Aws key 생성 :
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingSta
rtedGuide/AWSCredentials.html
=
Amazon SES 설정 16
뭐랄까 소스파보기가 아니라 인프라같은
쪽은 보는 거라-_- PPT 에서는 쉽게 됐는데
막상 해보니 이상하게 삽질한 점도 좀
많았다… (첨에 서버에서만 되는 줄 알고
서버에 올려서 테스트를 한다던가..;;먼산)
아무튼 로컬에서도 잘 되니.. 빠른 테스트를
통해 빠른 구현!!
SES 메일 수신 17
• 으로 끝내려고 했는데-_- 메일을 보내면 응답을 받아야 한다;; 이왕
본거 메일 수신까지 알아보자!
• 구글에서 검색하면 친절한(?) AWS안내 페이지가 나온다.
18
• 아…근데 찾아보니… 한글 문서가 있었다.
• (털썩)
https://docs.aws.amazon.com/ko_kr/ses/latest/DeveloperGuide/receiving-
email-concepts.html
• 찾아보면서 따라하면 그대로 메일도 온다.. 아 근데 내용이
암호화된건가.. 제목만 원문으로 보인다.. 이 이상은 나중에 하는 걸로;;
한가지 더.. 19
• 이메일 많이 보낼때는 SES가 안 좋다고…
• 광복절 주말의 정리는 여기까지… 코딩하러 이만..
20
THANK YOU !
즐거운 개발됩시다.
아라한사 올림
arahansa
------
------
페북 : https://fb.com/me.adunhansa
트위터 : https://twitter.com/arahansa
블로그: http://adunhansa.tistory.com/

More Related Content

What's hot (20)

Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기
라한사 아
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발
JeongHun Byeon
구글앱엔진+스프링+스프링dٲ貹+메이븐
구글앱엔진+스프링+스프링dٲ貹+메이븐구글앱엔진+스프링+스프링dٲ貹+메이븐
구글앱엔진+스프링+스프링dٲ貹+메이븐
라한사 아
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리Go revel 구성_루팅_정리
Go revel 구성_루팅_정리
라한사 아
스프링 Generic autowired이용해보기
스프링 Generic autowired이용해보기스프링 Generic autowired이용해보기
스프링 Generic autowired이용해보기
라한사 아
spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼
라한사 아
신림프로그래머 스터디 웹팩 발표자료
신림프로그래머 스터디 웹팩 발표자료신림프로그래머 스터디 웹팩 발표자료
신림프로그래머 스터디 웹팩 발표자료
라한사 아
스프링 오픈소스 정리
스프링 오픈소스 정리스프링 오픈소스 정리
스프링 오픈소스 정리
라한사 아
구글 검색엔진 최적화(Seo) 정리
구글 검색엔진 최적화(Seo) 정리구글 검색엔진 최적화(Seo) 정리
구글 검색엔진 최적화(Seo) 정리
라한사 아
Django in Production
Django in ProductionDjango in Production
Django in Production
Hyun-woo Park
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
Sang-ho Choi
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
Kyoung Up Jung
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO
라한사 아
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

DK Lee
jQuery 구조와 기능
jQuery 구조와 기능jQuery 구조와 기능
jQuery 구조와 기능
Kenu, GwangNam Heo
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
라한사 아
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기
정석 양
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
Kyoung Up Jung
Groovy 시작 입문
Groovy 시작 입문Groovy 시작 입문
Groovy 시작 입문
라한사 아
처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2
성일 한
Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기
라한사 아
구글앱엔진+스프링+스프링dٲ貹+메이븐
구글앱엔진+스프링+스프링dٲ貹+메이븐구글앱엔진+스프링+스프링dٲ貹+메이븐
구글앱엔진+스프링+스프링dٲ貹+메이븐
라한사 아
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리Go revel 구성_루팅_정리
Go revel 구성_루팅_정리
라한사 아
스프링 Generic autowired이용해보기
스프링 Generic autowired이용해보기스프링 Generic autowired이용해보기
스프링 Generic autowired이용해보기
라한사 아
spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼spring data jpa 간단한 튜토리얼
spring data jpa 간단한 튜토리얼
라한사 아
신림프로그래머 스터디 웹팩 발표자료
신림프로그래머 스터디 웹팩 발표자료신림프로그래머 스터디 웹팩 발표자료
신림프로그래머 스터디 웹팩 발표자료
라한사 아
스프링 오픈소스 정리
스프링 오픈소스 정리스프링 오픈소스 정리
스프링 오픈소스 정리
라한사 아
구글 검색엔진 최적화(Seo) 정리
구글 검색엔진 최적화(Seo) 정리구글 검색엔진 최적화(Seo) 정리
구글 검색엔진 최적화(Seo) 정리
라한사 아
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
Sang-ho Choi
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
Kyoung Up Jung
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO
라한사 아
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

DK Lee
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
라한사 아
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기
정석 양
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
Kyoung Up Jung
처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2
성일 한

Similar to Aws ses 이메일 보내기 받기 송신 수신 (19)

AWS 약쟁이
AWS 약쟁이AWS 약쟁이
AWS 약쟁이
Han Sung Kim
20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow
Sun Keun Choi
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
YoungSu Son
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun
Kim Minjun
Awskrug serverless slideshare
Awskrug serverless slideshareAwskrug serverless slideshare
Awskrug serverless slideshare
Seungho Kim
AWS로 불꺼온 나날들
AWS로 불꺼온 나날들AWS로 불꺼온 나날들
AWS로 불꺼온 나날들
AWSKRUG - AWS한국사용자모임
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
J B
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표
NAVER D2
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
SU BO KIM
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
Amazon Web Services Korea
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
Amazon Web Services Korea
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
Seomgi Han
포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기
Kyuhyun Byun
EC2용 SSH Tool - Eclair
EC2용 SSH Tool - EclairEC2용 SSH Tool - Eclair
EC2용 SSH Tool - Eclair
AWSKRUG - AWS한국사용자모임
Eclair
EclairEclair
Eclair
MinKyu Kim
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
Eunhyang Kim
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon Web Services Korea
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
devCAT Studio, NEXON
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
AWSKRUG - AWS한국사용자모임
20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow
Sun Keun Choi
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
YoungSu Son
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun
Kim Minjun
Awskrug serverless slideshare
Awskrug serverless slideshareAwskrug serverless slideshare
Awskrug serverless slideshare
Seungho Kim
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
J B
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표
NAVER D2
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
SU BO KIM
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
Amazon Web Services Korea
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
Amazon Web Services Korea
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
Seomgi Han
포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기
Kyuhyun Byun
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
Eunhyang Kim
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon Web Services Korea
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
이승재, 박경재, NDC Replay 제작기: static website, static backoffice, NDC2017
devCAT Studio, NEXON

More from 라한사 아 (8)

자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기
라한사 아
Growing object oriented software guided by test
Growing object oriented software guided by testGrowing object oriented software guided by test
Growing object oriented software guided by test
라한사 아
Slipp 발표 - GO
Slipp 발표 - GOSlipp 발표 - GO
Slipp 발표 - GO
라한사 아
Gulp 입문
Gulp 입문 Gulp 입문
Gulp 입문
라한사 아
Go 페이징게시판만들기
Go 페이징게시판만들기Go 페이징게시판만들기
Go 페이징게시판만들기
라한사 아
프로그래밍 go투어 정리
프로그래밍 go투어 정리프로그래밍 go투어 정리
프로그래밍 go투어 정리
라한사 아
개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스
라한사 아
자바채팅 다중
자바채팅 다중자바채팅 다중
자바채팅 다중
라한사 아
자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기자바로 Mnist 구현하고_스프링웹서버붙이기
자바로 Mnist 구현하고_스프링웹서버붙이기
라한사 아
Growing object oriented software guided by test
Growing object oriented software guided by testGrowing object oriented software guided by test
Growing object oriented software guided by test
라한사 아
Go 페이징게시판만들기
Go 페이징게시판만들기Go 페이징게시판만들기
Go 페이징게시판만들기
라한사 아
프로그래밍 go투어 정리
프로그래밍 go투어 정리프로그래밍 go투어 정리
프로그래밍 go투어 정리
라한사 아
개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스
라한사 아

Aws ses 이메일 보내기 받기 송신 수신

  • 1. ---------- 1 AWS SES 로 이메일보내기 연습 https://fb.com/me.adunhansa https://twitter.com/arahansa http://adunhansa.tistory.com/ ABOUT CONTACT SOURCE 1
  • 2. 1. 작성자 소개 2 ------------------------------------------------------------------- 평소 정리를 즐겨합니다. 한 때 동영상강좌도 만들다보니.. 비실명과 만화캐릭터를 쓰네요 양해 부탁드립니다 ㅎㅎ
  • 3. 알아본 것들 3 - AWS SES 의 설정 • 도메인 간의 설정 • 테스트 이메일 • 자바 이메일 코드 • AWS Credential 설정 • 보내지나?
  • 4. 개요 4 • 최근에 어쩌다보니 인프라&클라우드서비스류들에 관심이 많이 생기게 되었습니다... • 이메일을 보낼 일이 생겼었는데, 이메일을 보내는 법은 많지만 그 중 하나를 골라서 했던 작업을 정리가 안된채로 기록합니다... 잘못된 것이 있다면 얘기해주세요~ • 초초보 AWS 입문자 아라한사의, 그냥 의식의 흐름대로 적습니다.ㅎㅎ
  • 5. 다 적고 나서 추가한 내용 5 • 다 적고 나니…한글 문서가 있다는 걸 뒤늦께 깨달았다.(털썩).. https://docs.aws.amazon.com/ko_kr/ses/latest/ DeveloperGuide/Welcome.html • 그래도 정리하면서 본 내용이 아까워서 적는다.
  • 6. 도메인을 사자! 6 • 우선 도메인을 사겠습니다. 알아본 도메인 업체로는 1) GODADDY, 2) FREENOM 3) 호스팅케이알이 있었는데 GODADDY 는 장기적으로 볼 때 비싼 것같고, FREENOM(http://www.freenom.com/) 은 tk로 끝나는 도메인을 공짜로 살 수 있는데 이 슬라이드를 적기전에 메일설정 실패를 해서 .. 패쓰(해보실분은 해보셔도됩니다) • 그래서 세번째로 호스팅케이알로 고르게 되었습니다. 도메인 사는 과정은 생략합니다.
  • 7. 그러면 EC2를 생성해보자. 그전에! 7 • EC2를 생성하는 과정은 너무 뻔하니..이 또한 생략합니다. http://pyrasis.com/aws.html 를 보시면 됩니다. 단 ! • 아 이메일 인증도 여기를 봅시다. http://pyrasis.com/book/TheArtOfAmazonWebServices/Chapter27/01 여기서 중요한 점은 EC2 인스턴스를 만들기 전에 IAM 에서 SES를 위한 ROLE을 만들어서 미리 설정을 하겠습니다. 해당 관련 내용은 여기 (http://wildpup.cafe24.com/archives/673) 에 잘 나타나져 있습니다. 해당 블로그에 나온 대로 Roles 와 Users를 만들어줬습니다
  • 8. 자 그럼 EC2생성을...! 하기전 8 • 아차, 근데 저의 경우는 블로그들과 뭔가 다른 것이.. EC2를 생성하면서 SES가 설정된 ROLE을 지정을 해도 이메일이 가지지가 않았습니다. 알고보니 Users 에서 key/secret을 생성해야했던 것이죠!! 그리고 이미 삽질이 다 끝났으니 적지만 여기서 Attach Policy 에서 SES policy를 추가해줬습니다.
  • 9. 테스트부터.. 9 • 자 그럼 자바로 SES보내는 코드를 구해봅니다. 검색하니 금방 나옵니다. https://docs.aws.amazon.com/ko_kr/ses/latest/DeveloperGuide/send-using-sdk-java.html • 하지만 그대로 실행해보면 뭔가 문제가 발생합니다. Key 같은 것이 없다고 나옵니다. 소스를 보면 설정하는 곳이 없습니다.. 후..^^; 저는 맨첨에 EC2를 만들면서 role설정을 하면 자동으로 찾는 줄 알고 삽질을 ㅠㅠ 게다가 문서를 대충 읽고 저 client 객체에는 생성자 아규먼트가 필요가 없는 것인가!! 하고 생각을 ㅠㅠ.. 아무튼. . 이왕 본 김에 소스의 주석에 나와있는 링크를 조금 자세히 보겠습니다.
  • 10. AWS Credintials 를 알게 되었다! 10 • 아 그러니까.. SDK에 credentials을 줘야 하는데 여러가지 방법이 있다 이 이야기로군요… Root account aws access를 사용하는 대신에 IamUsers 를 사용하기를 권장하고 또 기본 provider chain 을 사용하기를 권장하는 군요..
  • 11. 음 방법이 여러갠데 몇가지만;; 11 • Environment Variable 에 등록을 해보겠습니다;
  • 12. env 등록해보기 -> 실패ㅠ 12 • env 로 등록해봤는데… 잘 안됐다-_-; 다른 방법도 많으니 굳이 recommend 가 아니더라도 다른 방법을 해보자.
  • 13. Recommend 는 아니지만, 직접credential을 넣어줘보자; 13 • 소스 주석에 나온 를 잠깐 대충 읽어서 맨처음에는 이메일 클라이언트 생성자에 아무것도 못 넣는 줄 알았는데.. API 문서를 보니 그건 또 아니었다.
  • 14. 14 • 아..흠… 아무튼 잠깐 테스트코드에 액세스키와 시크릿키를 적어주고 ( IAMUsers에서 받았음) 돌려보면 성공.. (단 인증받지 않은 이메일로 보내는 경우에는 직접 아마존에 case를 문의해야합니다)
  • 15. 이야기거리들 15 • Mvnrepository+ 스프링? • Credential : https://blogs.aws.amazon.com/security/post/Tx3D6U6WSFGOK2H/A- New-and-Standardized-Way-to-Manage-Credentials-in-the-AWS-SDKs • Api docs : http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazona ws/services/simpleemail/AmazonSimpleEmailServiceClient.html • http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazona ws/auth/AWSCredentials.html Aws key 생성 : http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingSta rtedGuide/AWSCredentials.html =
  • 16. Amazon SES 설정 16 뭐랄까 소스파보기가 아니라 인프라같은 쪽은 보는 거라-_- PPT 에서는 쉽게 됐는데 막상 해보니 이상하게 삽질한 점도 좀 많았다… (첨에 서버에서만 되는 줄 알고 서버에 올려서 테스트를 한다던가..;;먼산) 아무튼 로컬에서도 잘 되니.. 빠른 테스트를 통해 빠른 구현!!
  • 17. SES 메일 수신 17 • 으로 끝내려고 했는데-_- 메일을 보내면 응답을 받아야 한다;; 이왕 본거 메일 수신까지 알아보자! • 구글에서 검색하면 친절한(?) AWS안내 페이지가 나온다.
  • 18. 18 • 아…근데 찾아보니… 한글 문서가 있었다. • (털썩) https://docs.aws.amazon.com/ko_kr/ses/latest/DeveloperGuide/receiving- email-concepts.html • 찾아보면서 따라하면 그대로 메일도 온다.. 아 근데 내용이 암호화된건가.. 제목만 원문으로 보인다.. 이 이상은 나중에 하는 걸로;;
  • 19. 한가지 더.. 19 • 이메일 많이 보낼때는 SES가 안 좋다고… • 광복절 주말의 정리는 여기까지… 코딩하러 이만..
  • 20. 20 THANK YOU ! 즐거운 개발됩시다. 아라한사 올림 arahansa ------ ------ 페북 : https://fb.com/me.adunhansa 트위터 : https://twitter.com/arahansa 블로그: http://adunhansa.tistory.com/