AEM as a Cloud Service: SMTP 이메일 게재 실패

메일 서비스가 기본값이 아닌 포트의 외부 SMTP 호스트에 직접 연결하도록 구성된 경우 또는 필수 고급 네트워킹 포트 전달 구성이 누락되었거나 잘못된 경우 SMTP 이메일 배달이 Adobe Experience Manager as a Cloud Service(AEMaaCS)에서 실패할 수 있습니다. SMTP 대상에 대해 고급 네트워킹을 구성하고 프록시 호스트 및 매핑된 프록시 포트를 사용하도록 일별 CQ 메일 서비스를 업데이트하여 문제를 해결하십시오.

설명 description

환경

Adobe Experience Manager as a Cloud Service (모든 버전)

문제/증상

롤아웃 작업 또는 비동기 작업 등 SMTP를 통해 이메일을 전송하려고 하면 이메일 배달이 실패합니다. 로그에서 다음 오류가 관찰됩니다.

Caused by: org.apache.commons.mail.EmailException: Sending the email to the following server failed : your-smtp-host:465
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1298) [ org.apache.commons.commons-email:1.6.0]
    ...
Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: your-smtp-host, 465; timeout 60000
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2209) [ com.sun.mail.javax.mail:1.6.2]
    ...
Caused by: java.net.SocketTimeoutException: Connect timed out
    at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
  • SMTP를 사용하는 작업 또는 프로세스에 대해 이메일 전송이 실패합니다.
  • 메일 서비스가 포트 465의 SMTP 서버에 연결하려고 하면 로그에 연결 시간 초과가 표시됩니다.
  • 일별 CQ 메일 서비스 구성을 검토하여 AEM as a Cloud Service이 외부 SMTP 호스트 및 포트에 직접 연결하는 대신 필요한 프록시 호스트 및 매핑된 프록시 포트를 사용하고 있는지 확인해야 합니다.

근본 원인

AEM as a Cloud Service에서 필수 고급 네트워킹 포트 전달 구성 없이 465와 같은 기본이 아닌 SMTP 포트를 사용하거나 매핑된 프록시 호스트 및 포트 대신 외부 SMTP 호스트 및 대상 포트를 직접 사용하도록 메일 서비스를 구성한 경우 SMTP 배달이 실패할 수 있습니다.

해결 방법 resolution

문제를 해결하려면 다음 단계를 수행하십시오.

  1. 대상 AEM as a Cloud Service 프로그램 및 환경에 대해 고급 네트워킹이 활성화되어 있고 네트워킹 및 구성을 업데이트하는 데 필요한 권한이 있는지 확인합니다.

  2. Cloud Manager에서 관련 프로그램 및 환경을 엽니다. 고급 네트워킹(으)로 이동하여 SMTP 서비스에 대해 유연한 포트 이그레스 규칙을 구성하십시오. 다음 예와 유사한 규칙을 사용하여 호스트 이름과 포트를 SMTP 공급자에 필요한 값으로 바꿉니다. 문서화된 범위에서 환경에 적합한 portOrig 값을 사용하십시오. 구성을 저장하고 환경에 적용합니다.

    code language-json
    {
      "nonProxyHosts": [ ] ,
      "portForwards": [
        {
          "name": "smtp.example.com",
          "portDest": 465,
          "portOrig": 30465
        }
      ]
    }
    
  3. 외부 SMTP 호스트 및 포트에 직접 연결하는 대신 프록시 호스트 및 매핑된 프록시 포트를 사용하도록 메일 서비스를 구성합니다. 다음 값을 사용하십시오.

    • smtp.host: $[ env:AEM_PROXY_HOST;default=proxy.tunnel]
    • smtp.port: <mapped-port>(또는 위에 구성된 portOrig 값)
    • smtp.user: SMTP 사용자 이름에 대한 암호가 설정된 값
    • smtp.password: SMTP 암호에 대한 암호가 설정된 값
    • from.address: 올바른 보낸 사람 주소(예: no-reply@example.com)
    • smtp.ssl: 대상 SMTP 서비스가 포트 465을(를) 사용하는 경우 true
  4. 코드에 리터럴 자격 증명 값을 저장하는 대신 AEM as a Cloud Service에 대해 지원되는 비밀 지원 구성을 사용하여 SMTP 사용자 이름 및 암호를 제공합니다.

  5. 표준 Cloud Manager 배포 프로세스를 통해 업데이트된 구성을 배포한 다음 이메일을 보내는 프로세스를 다시 실행하고 연결이 성공했는지 확인하여 이메일 게재를 테스트합니다.

관련 읽기

recommendation-more-help
experience-cloud-kcs-help-kbarticles