SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
---------- 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/

Más contenido relacionado

La actualidad más candente

Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기라한사 아
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발JeongHun Byeon
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐라한사 아
 
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 ProductionHyun-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
 
스프링 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성일 한
 

La actualidad más candente (20)

Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기Golang 개발 환경(profile) 다르게 잡아주기
Golang 개발 환경(profile) 다르게 잡아주기
 
블로그 주도 개발
블로그 주도 개발블로그 주도 개발
블로그 주도 개발
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐
 
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
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
 
동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO 동시성 프로그래밍 기초 in GO
동시성 프로그래밍 기초 in GO
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

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

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

 
jQuery 구조와 기능
jQuery 구조와 기능jQuery 구조와 기능
jQuery 구조와 기능
 
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
스프링 Generic autowired 로 구현하는 제너릭 컨트롤러 이야기
 
나의 jQuery 실력 향상기
나의 jQuery 실력 향상기나의 jQuery 실력 향상기
나의 jQuery 실력 향상기
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
 
Groovy 시작 입문
Groovy 시작 입문Groovy 시작 입문
Groovy 시작 입문
 
처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2처음배우는 자바스크립트, 제이쿼리 #2
처음배우는 자바스크립트, 제이쿼리 #2
 

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

20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 TensorflowSun 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 slideshareSeungho Kim
 
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5J B
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표NAVER D2
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
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
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220Seomgi 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, NDC2017devCAT Studio, NEXON
 

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

AWS 약쟁이
AWS 약쟁이AWS 약쟁이
AWS 약쟁이
 
20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow20170525 최선근 AWS P2 Tensorflow
20170525 최선근 AWS P2 Tensorflow
 
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기 [NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
 
[MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun [MASOCON 2019] Serverless - Kimminjun
[MASOCON 2019] Serverless - Kimminjun
 
Awskrug serverless slideshare
Awskrug serverless slideshareAwskrug serverless slideshare
Awskrug serverless slideshare
 
AWS로 불꺼온 나날들
AWS로 불꺼온 나날들AWS로 불꺼온 나날들
AWS로 불꺼온 나날들
 
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
AWS 시작하기 및 Amazon S3 살펴보기 (윤석찬) - AWS 웨비나 시리즈
 
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
20141203 AWS Blackbelt 시리즈 - Amazon Directory Service (한국어)
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
 
포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기포털 검색어 순위 수집 및 분석 후기
포털 검색어 순위 수집 및 분석 후기
 
EC2용 SSH Tool - Eclair
EC2용 SSH Tool - EclairEC2용 SSH Tool - Eclair
EC2용 SSH Tool - Eclair
 
Eclair
EclairEclair
Eclair
 
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
WTM 2018 2개월차 신입 백엔드 개발자의 따끈따끈 개발 썰
 
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
Amazon S3 및 Elastic Beanstalk을 활용한 Wordpress 웹 사이트 구축하기 (윤석찬) - AWS 월간 웨비나
 
이승재, 박경재, 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
 
Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화Ansible과 CloudFormation을 이용한 배포 자동화
Ansible과 CloudFormation을 이용한 배포 자동화
 

Más de 라한사 아

자바로 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투어 정리라한사 아
 
개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스라한사 아
 

Más de 라한사 아 (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투어 정리
 
개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스개발자를위한 오픈소스라이선스
개발자를위한 오픈소스라이선스
 
자바채팅 다중
자바채팅 다중자바채팅 다중
자바채팅 다중
 

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/