Java/Spring

이메일 검증하는 법 : SMTP 활용

amungstudy 2023. 8. 24. 13:38

SMTP(Simple Mail Transfer Protocol)

인터넷에서 이메일을 전송하기 위한 프로토콜
메일 서버간 송수신 또는 클라이언트에서 메일 서버로 보낼 때 사용.

보안계층 방식 2가지
1)SSL == 465
2)TLS == 587 (SSL에서 보안 더 강화)

<!-- mail 전송 api -->        
        <!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.6.2</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>

pom.xml에 추가
(support 추가해주면 bean으로 등록해서 편하게 사용 가능)

 

root-context.xml에 아래와 같이 작성.

     <!-- 기본적인 설정을 bean으로 등록시켜놓고 메일 발송이 필요할 때 주입받아 사용하는 class -->
    <bean id="mailSender"
        class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.gmail.com"/>
        <property name="port" value="587" />
        <property name="username" value="이메일주소" />
        <property name="password" value="앱비밀번호" />
        <property name="javaMailProperties">
            <props>
                <prop key="mail.transport.protocol">smtp</prop>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.starttls.enable">true</prop>
            </props>
        </property>
    </bean>