> Java > java지도 시간 > Java 애플리케이션은 어떻게 Gmail, Yahoo 또는 Hotmail을 통해 이메일을 보낼 수 있습니까?

Java 애플리케이션은 어떻게 Gmail, Yahoo 또는 Hotmail을 통해 이메일을 보낼 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-23 22:56:14
원래의
498명이 탐색했습니다.

How Can Java Applications Send Emails via Gmail, Yahoo, or Hotmail?

Java 애플리케이션에서 GMail, Yahoo 또는 Hotmail을 사용하여 이메일 보내기

질문:

Java 애플리케이션에서 이메일 계정을 활용할 수 있나요? Gmail, Yahoo 또는 Hotmail과 같이 이메일을 보내시나요? 어떻게 이를 달성할 수 있습니까?

답변:

1단계: JavaMail API 가져오기

계속하기 전에 다음 사항을 확인하세요. 필요한 JavaMail API jar를 다운로드하여 classpath.

2단계: GMail 구성

다음 Java 코드 조각은 GMail 계정을 사용하여 이메일을 보내는 방법을 보여줍니다.

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class Main {

    private static String USER_NAME = "*****"; // GMail user name (before "@gmail.com")
    private static String PASSWORD = "********"; // GMail password
    private static String RECIPIENT = "[email protected]";

    public static void main(String[] args) {
        String from = USER_NAME;
        String pass = PASSWORD;
        String[] to = { RECIPIENT }; // List of recipient email addresses
        String subject = "Java send mail example";
        String body = "Welcome to JavaMail!";

        sendFromGMail(from, pass, to, subject, body);
    }

    private static void sendFromGMail(String from, String pass, String[] to, String subject, String body) {
        Properties props = System.getProperties();
        String host = "smtp.gmail.com";
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.user", from);
        props.put("mail.smtp.password", pass);
        props.put("mail.smtp.port", "587");
        props.put("mail.smtp.auth", "true");

        Session session = Session.getDefaultInstance(props);
        MimeMessage message = new MimeMessage(session);

        try {
            // Set email properties
            message.setFrom(new InternetAddress(from));

            // Create InternetAddress array for recipients
            InternetAddress[] toAddress = new InternetAddress[to.length];
            for (int i = 0; i < to.length; i++) {
                toAddress[i] = new InternetAddress(to[i]);
            }

            // Set recipients
            for (InternetAddress addr : toAddress) {
                message.addRecipient(Message.RecipientType.TO, addr);
            }

            // Set subject and body
            message.setSubject(subject);
            message.setText(body);

            // Establish connection and send email
            Transport transport = session.getTransport("smtp");
            transport.connect(host, from, pass);
            transport.sendMessage(message, message.getAllRecipients());
            transport.close();
        } catch (AddressException ae) {
            ae.printStackTrace();
        } catch (MessagingException me) {
            me.printStackTrace();
        }
    }
}
로그인 후 복사

참고: USER_NAME, PASSWORD, RECIPIENT, 제목 및 본문 변수를 바꾸세요. 적절한 값으로 사용하세요.

추가 고려 사항:

  • catch 블록에서 적절한 오류 처리를 구현해야 합니다.
  • 다음이 필요할 수도 있습니다. 서버 주소(호스트) 및 포트(예: Yahoo의 경우: 호스트="smtp.mail.yahoo.com" 및 포트="587").

위 내용은 Java 애플리케이션은 어떻게 Gmail, Yahoo 또는 Hotmail을 통해 이메일을 보낼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿