>Java >java지도 시간 >Java로 이메일을 보낼 때 '연결 거부됨' 오류가 발생하는 이유는 무엇입니까?

Java로 이메일을 보낼 때 '연결 거부됨' 오류가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-07 15:44:02386검색

Why Am I Getting a

Java를 사용하여 이메일 보내기: 연결 거부 오류 해결

코드 조각에서 로컬 호스트를 사용하여 이메일을 보내려고 시도하는 동안 "연결 거부" 오류가 발생합니다. SMTP 서버. 이는 SMTP 서버가 해당 호스트 또는 포트에서 수신 대기하고 있지 않음을 나타냅니다.

해결 방법

이 문제를 해결하려면 다음 중 하나를 수행해야 합니다.

  1. 로컬 SMTP 서버 구성: 로컬 시스템에서 유효한 SMTP 서버가 실행되고 있는지 확인하세요. Postfix 또는 Exim과 같은 메일 서버를 설정하면 됩니다.
  2. 클라우드 기반 SMTP 서비스 사용: Google의 SMTP 서버 또는 Amazon과 같은 안정적인 클라우드 기반 SMTP 서비스 사용을 고려해보세요. SES. 이러한 서비스는 로컬 서버를 유지 관리할 필요 없이 강력하고 확장 가능한 SMTP 기능을 제공합니다.

GoogleMail 클래스를 사용하는 대체 코드

로컬 SMTP 서버를 사용할 수 없는 경우 다음을 활용할 수 있습니다. 응답에 제공된 GoogleMail 클래스입니다. 이 클래스는 Google의 SMTP 서버를 사용하여 이메일을 보내는 프로세스를 단순화합니다. 다음은 GoogleMail을 사용하여 수정된 코드 조각입니다.

import com.google.api.services.gmail.Gmail;
import com.google.api.services.gmail.model.Message;
import javax.mail.MessagingException;
import java.io.IOException;

public class SendEmail {

    public static void main(String[] args) throws IOException, MessagingException {
        // Replace these variables with your own information
        String username = "your_gmail_username";
        String password = "your_gmail_password";
        String recipientEmail = "recipient_email_address";
        String title = "This is the Subject Line!";
        String message = "This is actual message";

        // Construct an authorized Gmail service
        Gmail service = Utils.getGmail(username, password);

        // Send the email
        GoogleMail.Send(service, recipientEmail, "", "user1@XYZ.com", title, message);
        System.out.println("Sent message successfully...");
    }
}

이메일을 보낼 때마다 비밀번호를 입력하지 않으려면 Google에서 새로 고침 토큰을 받아 파일에 저장해야 합니다. .

결론

SMTP 연결 문제를 해결하거나 제공된 GoogleMail 클래스를 활용하면 Java를 사용하여 이메일을 성공적으로 보낼 수 있습니다. 자신의 이메일 자격 증명과 메시지 내용을 포함하도록 코드 조각을 조정하는 것을 잊지 마세요.

위 내용은 Java로 이메일을 보낼 때 '연결 거부됨' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.