아직도 비싸게 이메일 발송하시나요? 오픈소스 이메일 발송 서버와 비전공자도 가능한 A-Z 사용법 🤩
Github : https://github.com/lee-lou2/rust-aws-ses-sender
Setup Guide : https://lee-lou2.notion.site/AWS-19d4d6ae33b58092a019ee88de9ca8a0
👉 이 오픈소스를 사용하면 좋은 사람들은?
- 현재 별도의 유료 이메일 발송 서비스를 사용하고 있는 사용자
- 특정 조건 또는 특정 시간에 주기적으로 이메일을 발송해야하는 사용자
- 뉴스레터를 발송하거나 준비중인 회사 또는 개인
👉 비용이 전혀 발생하지 않나요?
- 이메일 발송/결과 전송, 서버 구축 등의 비용 발생
- 이메일 발송 비용 : AWS SES 사용으로 1,000건당 0.10 USD 비용 발생 가능 (AWS 프리티어 계정 사용 가능)
https://aws.amazon.com/ko/ses/pricing/
- 서버 구축 비용 : 로컬이나 현재 보유중인 서버에 이메일 발송 서버를 구축한다면 무료, AWS 등 클라우드 환경에 구축한다면 클라우드 비용 발생 (저렴한 클라우드 서비스들이 많으니 댓글 남겨주시면 자세히 설명)
- 이메일 발송 결과 비용 : 이메일 발송 결과를 정확히 알고 싶다면 SNS 연동 필요, 연동 시 SNS 비용 발생 가능
- 이러한 비용이 발생되더라도 다른 유료 서비스를 이용하는 것보다 훨씬 저렴할 것으로 예상 (전 매일 500건 정도를 발송 중인데 2~5,000원 수준)
👉 이 오픈소스를 사용해야하는 이유?
- 우선 위에서 설명한 것처럼 비용이 저렴함
- 원하는 시점 또는 원하는 주기, 특정 조건에 이메일 발송 가능
- 모든 발송 기록이 저장되어 히스토리 관리가 편리함
- 오픈소스 코드라 자유로운 커스텀 가능
- REST API로 제공되어 다른 서비스와의 연동이 편리함 (아래 내용 참고)
👉 어떤식으로 활용할 수 있나요?
- ChatGPT의 GPTs와 연결해서 첨부된 문서를 요약해서 미리 요청한 이메일로 정리된 내용 발송 설정 가능
- 구글 시트에 이메일 내용과 수신할 이메일 주소를 작성해두고 버튼 클릭 시 이메일 발송 가능
- 구글 Apps Script를 이용해서 특정 주기로 미리 작성한 이메일 발송 설정 가능
- Make, n8n 등 자동화 툴과 연동해서 이메일 발송 가능
👉 어떻게 사용하나요?
- 위 첨부된 Github의 README나 블로그에 자세히 작성되어 있음 (기술 지원도 가능)
- 이메일 발송을 위해선 AWS 계정 생성, 도메인 발급이 선행 필요
- AWS SES의 샌드박스 모드를 프로덕션 모드로 전환 필요 (샌드박스 모드는 인증된 이메일로만 발송 가능)
- 일일 발송량이 많은 경우 발송 한도 증가 필요 (증가 요청 가능하며 3시간에서 최대 하루까지 소요)
- 이메일 발송 결과를 알아야한다면 AWS SNS의 주제와 구독 (Https) 생성하고 인증된 이메일에 연결 필요
- 위 진행간 발급된 AWS 키와 초당 발송 가능 한도 등을 오픈 소스 .env 환경 변수로 등록
- 'sh init_database.sh'를 통해 데이터베이스 초기화
- 'cargo run' 또는 Docker가 설치된 경우 'sh deploy.sh'를 통해 서버 실행
- 클라우드 환경에 배포하려는 경우 Dockerfile과 deploy.sh를 참고해서 배포
👉 Q&A
Q. Google 등 SMTP로도 발송할 수 있지 않나요?
A. 네, 가능합니다. 하지만 일별 무료 발송량이 제한되어있어 프로덕션에서의 사용은 추천하지 않습니다.
Q. Rust로 개발되어있는데 프로그래밍 지식이 필요한가요?
A. 프로그래밍 지식은 필요하지 않습니다. 환경 변수만 설정하고 실행만하면 되도록 개발되어있어 별도의 지식없이도 서버 구축이 가능합니다.
Q. 절차가 너무 복잡한데 기술 지원 가능한가요?
A. 네, 기술 지원이 가능합니다. 다음 이메일로 문의주시면 상세히 답변해드리겠습니다: lee@lou2.kr
Q. 기술 지원 시 비용이 발생되나요?
A. 기술 지원은 무료로 제공됩니다. 다만, 많은 커스텀이 필요한 경우 별도 협의가 필요합니다.
더 궁금한 점이 있으시다면 언제든 연락주세요 🙇♂️
#aws #aws_ses #aws_sns #email_sender #notification #notify #rust #rust_lang #axum #sentry #newsletter