검색 본문
iwoohaha.tistory.com ~☆~ 우하하!!~ 개발블로그 Gmail SMTP 로 메일 발송 설정하기 발송전용 Gmail 계정 만들기 메일을 발송하는 전용 Gmail 계정을 하나 만들자. 이건 너무 쉬워서 설명을 생략할께. 그래도 어렵다면 요청해줘. 나는 발송 전용으로 woohaha.noreply@gmail.com 계정을 하나 만들었어. SMTP 발송을 위한 Gmail 계정 설정하기 1단계: IMAP 사용 설정 새로 만든 Gmail 계정으로 로그인을 먼저 하자. 오른쪽 위에 톱니바퀴 모양의 아이콘을 클릭하면 빠른 설정 화면이 표시되지. 여기에서 “모든 설정 보기” 링크를 클릭해봐. 설정 화면에서 “전달 및 POP/IMAP” 탭을 선택하면 IMAP 액세스 라는 항목이 보일거야. 새로 만들어서 아무것도 설정하지 않았기 때문에 기본값으로 IMAP 사용 안함 이 선택되어 있을텐데, IMAP 사용 을 선택하고 “변경사항 저장” 버튼을 클릭해서 설정을 저장해주면 돼. “IMAP 사용” 설정값이 저장된 상태에서는 “IMAP을 사용할 수 있습니다.” 라 2단계: 2단계 인증 설정하기 이번에는 Gmail 계정 관리 화면으로 진입해야 해. “보안” 탭에서 Google에 로그인하는 방법 중에 “2단계 인증” 항목이 사용설정으로 되어 있어야만 해. 오른쪽의 > 로 표시된 링크를 클릭하면 2단계 인증 설정 과정이 시작되지. 휴대전화 번호부터 입력해주자. “다음” 링크를 누르면 입력한 휴대전화로 코드가 담긴 문자메시지가 오거나, 전화가 걸려오지. 문자메시지로 전송된 코드를 입력해주고나면 2단계 인증을 위한 도구(휴대전화번호) 등록이 완료된것이고, 이 휴대전화번호를 이용해서 2단계 인증을 사용하도록 설정... 3단계: 앱 비밀번호 등록하기 이제 마지막 단계로 앱 비밀번호 등록하기야. 2단계 인증 화면으로 다시 들어가면 맨 아래쪽에 “앱 비밀번호” 가 보일거야. 아직 아무것도 등록해놓지 않은 상태라서 없음 이 표시되고 있지? 오른쪽 > 모양의 링크를 클릭해볼께. 앱 전용 비밀번호를 만들려면 앱 이름을 입력하라고 하는군. 비밀번호를 사용할 앱의 이름으로 나는 MailSender 라고 입력했어. “만들기” 버튼을 클릭하면 앱 비밀번호를 생성한 뒤에 보여주지. 이 비밀번호를 잘 기록해두어야 해. 이 화면을 벗어나면 이 값은 다시 확인할 방법이 없어. 이렇게 앱... SMTP 발송 설정하기 이제 Gmail 의 정보를 서버 시스템의 설정에 대입하는 방법에 대해서 알아볼께. 대부분의 서버 시스템 SMTP 발송 정보 설정 항목값들은 다음과 같이 구성되어 있어. SMTP 서버주소 SMTP 계정ID SMTP 계정ID의 패스워드 SMTP 암호화 SMTP 포트번호 (옵션) 발송자이름 (옵션) 발송자메일주소 위 항목에 대한 사용값 예시를 들어볼께. SMTP 서버주소는 smtp.gmail.com 을 사용해. SMTP 계정ID 는 Gmail 계정을 입력해주고, 패스워드로 앞에서 생성한 앱 비밀번호를 입력해주지. 위 예시에서는 인증정보가 18 이제 Gmail 의 정보를 서버 시스템의 설정에 대입하는 방법에 대해서 알아볼께. 대부분의 서버 시스템 SMTP 발송 정보 설정 항목값들은 다음과 같이 구성되어 있어. SMTP 서버주소 SMTP 계정ID SMTP 계정ID의 패스워드 SMTP 암호화 SMTP 포트번호 (옵션) 발송자이름 (옵션) 발송자메일주소 위 항목에 대한 사용값 예시를 들어볼께. SMTP 서버주소는 smtp.gmail.com 을 사용해. SMTP 계정ID 는 Gmail 계정을 입력해주고, 패스워드로 앞에서 생성한 앱 비밀번호를 입력해주지. 위 예시에서는 인증정보가 2024.03.05 블로그 검색 더보기 engineer-daddy.co.kr 공학자 아빠의 배움과 유산 이메일 프로토콜 : POP3, SMTP, IMAP의 대한 비교 설명 이메일 프로토콜이란? 이메일 프로토콜은 컴퓨터와 서버 간의 통신을 규제하는 규칙입니다. 마치 언어가 사람들 간의 소통을 가능하게 하는 것처럼, 이메일 프로토콜은 서로 다른 시스템에서 이메일을 보내고 받을 수 있도록 합니다. 이메일 프로토콜의 역할 메시지 전송: SMTP는 사용자의 메일 클라이언트에서 메일 서버로 메시지를 전송하는 역할 메시지 수신: POP3와 IMAP는 메일 서버에서 사용자의 메일 클라이언트로 메시지를 수신하는 역할 메시지 저장: IMAP는 메시지를 서버에 저장하여 여러 디바이스에서 동기화할 수 있도록 함 사용자 인증: SMTP, POP3, IMAP는 모두 사용자 인증을 위해 사용자 이름과 비밀번호를 사용함 보안: SMTP, POP3 및 IMAP는 모두 SSL/TLS를 사용하여 메시지를 암호화하여 보안을 강화 이메일 프로토콜 이메일 서버 종류 MTA (Mail Transfer Agent) : 다른 메일 서버와 메시지를 주고받는 역할 MDA (Mail Delivery Agent) : 사용자의 메일 클라이언트에 메시지를 전달하는 역할 이메일 프로토콜 : POP3, SMTP, IMAP 비교 기능 POP3 SMTP IMAP 메일 다운로드 O X O 메일 삭제 방식 서버에서 삭제 X 서버에 저장 여러 디바이스 동기화 X X O 오프라인 사용 O X X 장점 사용하기 쉬움, 오프라인 사용 가능 간편한 설정, 다양한 메일 클라이언트 지원 여러 디바이스 동기화, 서버 저장, 편리한 검색 및 정리 단점 여러 디바이스 동기화 불가, 서버 저장 공간 제한 보안 취약성, 스팸 메일 차단 어려움 POP3보다 느림, 서버 저장 공간 필요 이메일 프로토콜 상세 설명 POP3 (Post Office Protocol 3) POP3는 사용자의 메일 클라이언트에서 메일 서버에서 메일을 다운로드하는 데 사용됩니다. 일반적으로 POP3를 사용하면 메일을 다운로드한 후 서버에서 삭제되도록 설정됩니다. 즉, 한 디바이스에서만 메일을 사용하고, 서버에 메시지를 저장하지 않으려는 경우에 적합합니다. POP3의 주요 장점은 다음과 같습니다. 설정이 간단하고 사용하기 쉽습니다. 오프라인 사용 가능: 메일을 다운로드하면 인터넷 연결 없이도 메일을 읽고 처리할 수 있습니다. 반면에 POP3의 단점은 다음과 같습니다. 기능 POP3 SMTP IMAP 메일 다운로드 O X O 메일 삭제 방식 서버에서 삭제 X 서버에 저장 여러 디바이스 동기화 X X O 오프라인 사용 O X X 장점 사용하기 쉬움, 오프라인 사용 가능 간편한 설정, 다양한 메일 클라이언트 지원 여러 디바이스 동기화, 서버 저장, 편리한 검색 및 정리 단점 여러 디바이스 동기화 불가, 서버 저장 공간 제한 보안 취약성, 스팸 메일 차단 어려움 POP3보다 느림, 서버 저장 공간 필요 이메일 POP3 SMTP IMAP 이메일 프로토콜 2024.04.26 feccle.tistory.com Feccle 의 IT자료 모음 Windows Server SMTP 서버 구성에 대해 알아보겠습니다. 7 설정할 수 있습니다. Ⅲ. 도메인 설정: SMTP 서버를 사용하여 이메일을 보내려면 DNS(Domain Name System)에서 MX 레코드를 구성해야 합니다. 이렇게 하면...활성화할 수 있습니다. ⅱ) 명령 프롬프트 열기 Windows에서 명령 프롬프트(또는 PowerShell)를 엽니다. 명령 프롬프트에서 다음 명령어를 사용하여 SMTP 서버... windows server SMTP test smtp테스트 SMTP server 2024.05.15 yaga.tistory.com 머털&보약의 기록 [springBoot] daum SMTP 메일 발송 2 daum의 SMTP를 이용해서 메일 발송하는 예제 개발환경: springBoot 2.7.14, gradle 선행조건(daum smtp 활성화) 설정 > IAMP/POP3(저기의 정보를 프로퍼티에 기입) 의존성 추가(gradle) implementation 'org.springframework.boot:spring-boot-starter-mail' application.yml에 smtp 설정 추가 spring: mail: host... 메일 Daum SMTP SpringBoot smtp 메일 메일 발송 SMTP 메일 발송 daum smtp 메일 SMTP springboot smtp 2023.08.22 ngwdeveloper.tistory.com 남건욱's 공부기록 [Spring Boot + SMTP] 이메일 인증 구현 1. 개발환경 Java 17 Spring Boot 3.1.8 Gradle 8.5 2. 의존성 추가 // SMTP implementation 'org.springframework.boot:spring-boot-starter-mail' // Redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' SMTP와 Redis의 의존성을 build.gradle에 추가해 줍니다. 3. Gmail SMTP 설정 3-1 구글로그인 후 지메일로 들어갑니다. 3-2 오른쪽 상단의 톱니바퀴 버튼을 누른 뒤 <모든 설정 보기> 버튼을 클릭합니다. 3-3 전달 및 POP/IMAP를 눌러주신 후 사진과 같이 체크한 뒤 <변경사항 저장> 버튼을 눌러 저장해 줍니다. 3-4 이제 우측 상단의 프로필버튼을 눌러서 <Google 계정 관리>를 클릭해 줍니다. 3-5 이 화면이 뜰 텐데 여기서 보안을 클릭해 줍니다 3-6 스크롤을 내린 뒤 Google에 로그인하는 방법 탭에서 <2단계 인증>을 클릭해 줍니다. 3-7 스크롤을 제일 밑으로 내리면 앱 비밀번호 탭 4. Redis 설치 https://ngwdeveloper.tistory.com/94 [Redis] Redis 설치 방법 Redis NoSQL DB의 한 종류이며 우리가 흔히 사용하는 MYSQL, Orcal DB, PostgreSQL 등 RDBMS와 다르게 NoSQL DB이다. 그렇다면 무슨 차이이고 어느 상황에 사용해야 할까? RDBMS와 NoSQL의 차이 RDBMS (관계형 DB) - 데 ngwdeveloper.tistory.com 설치가 안되어있으신 분들은 위 링크에 들어가서 따라 해 주시면 됩니다. 만약 설치가 되어있다면 넘어가셔도 됩니다. 5. application.properties 작성 # Email Properties spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=지메일주소@gmail.com spring.mail.password=2차비밀번호 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true SMTP의 properties 작성법입니다. 아까 발급받은 본인의 지메일 주소와 저장해 둔 비밀번호를 입력해 주시면 됩 6. RedisConfig 작성 @Getter @Configuration @RequiredArgsConstructor @EnableRedisRepositories public class RedisConfig { @Value("${spring.data.redis.host}") private String host; @Value("${spring.data.redis.port}") private int port; // 내장 / 외부 Redis 연결 @Bean public RedisConnectionFactory red 7. RedisUtil 작성 @Service @RequiredArgsConstructor public class RedisUtil { private final StringRedisTemplate redisTemplate; public String getData(String key) { ValueOperations<String, String> valueOperations = redisTemplate.opsForValue(); return valueOperations.get(key); } public 8. EmailAuthResponseDto 작성 @Getter public class EmailAuthResponseDto { private boolean success; private String responseMessage; public EmailAuthResponseDto(boolean success, String responseMessage){ this.success = success; this.responseMessage = responseMessage; } } 응답결과를 담을 DTO입니다. 성공, 실패 여부와 9. EmailController 작성 @RestController @RequiredArgsConstructor @RequestMapping("/api/email") public class EmailController { private final EmailService emailService; // 인증번호 전송 @GetMapping("/auth") public EmailAuthResponseDto sendAuthCode(@RequestParam String address) { return emailService.sendEm 10. EmailService 작성 @Service @RequiredArgsConstructor public class EmailService { @Value("${spring.mail.username}") private String senderEmail; private final JavaMailSender mailSender; private final RedisUtil redisUtil; public EmailAuthResponseDto sendEmail(String toEmail) { if (redisUtil 18 // SMTP implementation 'org.springframework.boot:spring-boot-starter-mail' // Redis implementation 'org.springframework.boot:spring-boot-starter-data-redis' SMTP와 Redis의 의존성을 build.gradle에 추가해 줍니다. smtp 인증 SMTP 이메일 인증 spring 이메일 인증 스프링 이메일 인증 spring smtp 스프링 이메일 스프링 smtp spring smtp 이메일 2024.04.01 kjh0811.tistory.com 개발하고일기쓰기 SMTP 를 사용해 메일서버 구축해보기 with 도커 - 2편- DNS 구성 참고용: docker run 을할때 --privileged 를 추가하여 모든 자원에 허용 및 커널 사용할수있도록 적용 apt-get update => 업데이트 먼저 한후 apt-get install -y bind9 bind9utils bind9-doc <= bind 설치 #기타 패키지 설치 apt-get install -y net-tools <=ifconfig, netstat 등과 같은 네트워킹 도구 apt-get install -y dnsutils <= dig 및 nslookup과 같은 도구 apt-get install - 트러블 슈팅 트러블슈팅 1 cat /etc/resolv.conf 우선 각각의 컨테이너에 각각 해당하는ip를 cat /etc/resolv.conf 여기에 넣어야하는데 잘못넣었었음.. DNS에 3개의 컨테이너에 ifconfig -a 명령어로 IP주소를 알아낸다음 /etc/resolv.conf 여기에 설정해야함 트러블슈팅 2 문제: DNS 서버 , 메일서버 1 , 메일 서버2 에 지정해놓은 /etc/resolv.conf 파일 안에있는 네트워크가 도커를 껏다 킬때마다 바뀌는 현상 해결: 우선 바뀌는 이유는 도커가 DNS 설정을 알아서 처리 추가 팁 DNS 서버에 BIND를 설치하는 이유와 역할 BIND 는 인터넷에서 DNS소프트웨어로 사용됩니다. BIND는 도메인 이름이나 주소를 IP 주소로 확인하는 작업을 합니다. 이는 IP 주소로 변환해야하는 네트워크 환경에 적합하며 IND는 A, AAAA, MX, TXT 및 SRV 레코드를 포함하며 환경 세팅 및 관리에 용이하기 때문에 사용됩니다. 방화벽 규칙 및 목적에 대한 설명 포트 53(DNS): 사용법: DNS 쿼리 및 응답에 필요합니다. 프로토콜: TCP 및 UDP 모두 사용됩니다. 포트 25(SMTP): 사용법: 서버 간 9 트러블슈팅 1 cat /etc/resolv.conf 우선 각각의 컨테이너에 각각 해당하는ip를 cat /etc/resolv.conf 여기에 넣어야하는데 잘못넣었었음.. DNS에 3개의 컨테이너에 ifconfig -a 명령어로 IP주소를 알아낸다음 /etc/resolv.conf 여기에 설정해야함 트러블슈팅 2 문제: DNS 서버 , 메일서버 1 , 메일 서버2 에 지정해놓은 /etc/resolv.conf 파일 안에있는 네트워크가 도커를 껏다 킬때마다 바뀌는 현상 해결: 우선 바뀌는 이유는 도커가 DNS 설정을 알아서 처리 POP 구성 imap DNS smtp 도커 2024.05.12 통합웹 더보기