복붙노트

[SPRING] MailConnectException : 호스트, 포트에 연결할 수 없습니다 : smtp.sendgrid.net

SPRING

MailConnectException : 호스트, 포트에 연결할 수 없습니다 : smtp.sendgrid.net

sendGrid에 대한 API 키를 만들었습니다.

나는 다음과 같은 봄 메일 구성을 가지고있다 :

spring.mail.default-encoding=UTF-8
spring.mail.host=smtp.sendgrid.net
spring.mail.username=apikey
spring.mail.password=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
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.test-connection=true

그리고 나는 다음과 같은 코드를 가지고있다.

MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message,
            MimeMessageHelper.MULTIPART_MODE_MIXED_RELATED,
            StandardCharsets.UTF_8.name());
Template template = freemarkerConfig.getTemplate(templateFileName);
String html = FreeMarkerTemplateUtils.processTemplateIntoString(template, props);

helper.setTo("myEmail@gmail.com");
helper.setText(html, true);
helper.setSubject(subject);
helper.setFrom(from);
sender.send(message);
logger.debug("Send email to {} with subject: [{}]", Arrays.toString(to), subject);

그런 다음 응용 프로그램을 시작하고 다음 오류를 경험합니다.

27.01.18 20:07:20.460 [main] WARN  c.d.m.s.c.MailSenderValidatorAutoConfiguration - Mail server is not available
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.sendgrid.net, 25; timeout -1
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
    at javax.mail.Service.connect(Service.java:366)
    at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:501)
    at org.springframework.mail.javamail.JavaMailSenderImpl.testConnection(JavaMailSenderImpl.java:382)

이 문제를 어떻게 해결할 수 있습니까?

포트 587에 맞는 모든 것

하지만 SSL을 사용하고 포트 설정 = 465 싶습니다.

spring.mail.port=465

그리고이 경우 내 응용 프로그램은 5 분 인쇄 후 startup.and에서 멈 춥니 다.

27.01.18 21:06:05.960 [main] WARN  c.d.m.s.c.MailSenderValidatorAutoConfiguration - Mail server is not available
javax.mail.MessagingException: Could not connect to SMTP host: smtp.sendgrid.net, port: 465, response: -1
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2106)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
    at javax.mail.Service.connect(Service.java:366)
    at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:501)
    at org.springframework.mail.javamail.JavaMailSenderImpl.testConnection(JavaMailSenderImpl.java:382)

어떻게 이것을 피할 수 있습니까?

해결법

  1. ==============================

    1.이러한 구성을 구성에 추가해야 할 수도 있습니다.

    이러한 구성을 구성에 추가해야 할 수도 있습니다.

    spring.mail.smtp.ssl.enable=true
    
  2. ==============================

    2.해당 국가에서 SendGrid SMTP 서버를 검색 할 수 없을 가능성이 있습니다. 프록시 또는 VPN을 사용해보십시오.

    해당 국가에서 SendGrid SMTP 서버를 검색 할 수 없을 가능성이 있습니다. 프록시 또는 VPN을 사용해보십시오.

  3. from https://stackoverflow.com/questions/48478360/mailconnectexception-couldnt-connect-to-host-port-smtp-sendgrid-net by cc-by-sa and MIT license