로고
TIL

[WordPress] Fluent SMTP

·WordPress

WordPress에서 문의 폼이나 회원가입, 비밀번호 재설정 같은 기능을 사용하다 보면 사이트가 이메일을 보내야 하는 경우가 많습니다.

이때 자주 사용되는 플러그인 중 하나가 FluentSMTP입니다. FluentSMTP를 이해하려면 먼저 WordPress가 이메일을 어떻게 보내는지와 SMTP가 어떤 역할을 하는지 알아두는 것이 좋습니다.

WordPress의 이메일 전송

WordPress에서는 이메일을 보낼 때 wp_mail() 함수를 사용합니다.

wp_mail(
    'user@example.com',
    'Test Email',
    'This is a test message.'
);

wp_mail()은 WordPress Core뿐 아니라 폼 플러그인, 회원 기능, WooCommerce 같은 여러 기능에서 이메일 전송에 사용됩니다.

다만 wp_mail()true를 반환했다고 해서 실제 수신자의 메일함까지 이메일이 도착했다는 의미는 아닙니다. WordPress 공식 문서에서도 반환값은 이메일 전송 방식이 오류 없이 요청을 처리했다는 의미이며, 실제 수신 성공까지 보장하지는 않는다고 설명합니다.

SMTP

SMTPSimple Mail Transfer Protocol의 약자로 이메일을 전송할 때 사용하는 프로토콜입니다.

웹사이트에서 이메일을 보낼 때 서버의 기본 메일 환경에만 의존하는 대신 Gmail, Microsoft, SMTP2GO 같은 메일 전송 서비스의 인증된 연결을 사용하도록 구성할 수 있습니다.

이렇게 SMTP 또는 이메일 전송 서비스와 연결하면 발신 서버와 계정을 명확하게 설정할 수 있고, 이메일 전송 상태를 관리하기도 쉬워집니다.

FluentSMTP

FluentSMTP는 WordPress의 이메일 전송을 외부 이메일 서비스와 연결해 주는 SMTP 플러그인입니다.

WordPress에서 발생한 이메일을 FluentSMTP에 설정한 Delivery Connection을 통해 전송하도록 구성할 수 있습니다.

대표적으로 다음과 같은 연결을 지원합니다.

  • Gmail 또는 Google Workspace
  • Microsoft Outlook
  • SMTP2GO
  • 일반 SMTP 서버
  • 기타 지원되는 이메일 전송 서비스

설정할 때는 이메일 서비스마다 요구하는 인증 방식이 다르기 때문에 FluentSMTP 공식 문서에서 해당 Provider의 연결 방법을 확인하는 것이 좋습니다.

기본 연결과 Fallback 연결

FluentSMTP에서는 사이트 전체에서 사용할 Default Connection을 설정할 수 있습니다.

또한 기본 연결에서 이메일 전송이 실패했을 때 사용할 Fallback Connection을 별도로 지정할 수도 있습니다.

예를 들어 기본 메일 서비스에 일시적인 문제가 발생했을 때 다른 연결을 통해 이메일 전송을 다시 시도하도록 구성할 수 있습니다.

항상 두 개의 연결이 필요한 것은 아니지만, 이메일 전달이 중요한 사이트에서는 알아둘 만한 기능입니다.

Email Logs

FluentSMTP의 장점 중 하나는 WordPress에서 전송된 이메일 기록을 확인할 수 있다는 점입니다.

Email Logs에서는 전송 성공과 실패 상태를 확인하고 특정 이메일을 검색하거나 날짜별로 확인할 수 있습니다.

폼을 제출했는데 고객에게 이메일이 도착하지 않았거나 관리자 Notification Email이 누락된 것처럼 보일 때 문제를 확인하는 데 유용합니다.

단, 이메일 로그에는 수신자나 이메일 내용처럼 개인정보가 포함될 수 있습니다. FluentSMTP에서는 로그 저장 여부와 삭제 기간을 설정할 수 있으므로 운영 사이트에서는 필요한 기간만 보관하도록 설정하는 것이 좋습니다.

Form 플러그인과 FluentSMTP의 관계

FluentSMTP가 폼 자체를 처리하는 것은 아닙니다.

예를 들어 폼 플러그인이 제출 데이터를 처리하고 이메일 전송을 요청하면, WordPress의 이메일 시스템과 FluentSMTP가 실제 이메일 전송 부분을 담당하는 구조로 이해하면 쉽습니다.

각 단계의 역할을 나누어 보면 다음과 같습니다.

  • Form Plugin: 입력값 검증, 제출 데이터 처리, Notification 또는 Confirmation Email 전송 요청
  • wp_mail(): WordPress에서 이메일 전송을 요청하는 공통 함수
  • FluentSMTP: wp_mail()로 요청된 이메일을 설정된 Connection을 통해 외부 메일 서비스로 전달
  • Email Provider: 실제 메일 서버 간 전송을 담당
  • Recipient: 최종 수신자의 메일함

이 구조를 이해하면 폼 제출 성공과 이메일 수신 성공이 서로 다른 단계라는 점도 이해하기 쉽습니다.

이메일 전송 문제를 확인하는 흐름

폼을 제출했는데 이메일이 도착하지 않는다면 처음부터 SMTP만 확인하기보다 어느 단계까지 정상적으로 처리되었는지 순서대로 확인하는 것이 좋습니다.

예를 들어, Form Submission은 정상적으로 저장되었는데 FluentSMTP의 Email Log 자체가 없다면 SMTP보다 앞 단계에서 이메일 전송 요청이 발생하지 않았을 가능성을 먼저 확인할 수 있습니다.

반대로 Email Log에 실패 기록이 있다면 SMTP Connection이나 인증 정보, 연결된 Email Provider의 응답을 확인하는 쪽으로 범위를 좁힐 수 있습니다.

Email Log가 성공으로 표시되어도 최종적으로 수신자의 Inbox에 도착했다는 사실까지 보장하는 것은 아닙니다. 이후에는 수신 서버의 Spam 처리나 발신 도메인의 이메일 인증 설정 등 WordPress 바깥의 전달 단계도 영향을 줄 수 있습니다.

정리

WordPress에서는 여러 기능이 wp_mail()을 통해 이메일 전송을 요청합니다.

FluentSMTP는 이러한 WordPress 이메일을 Gmail, Microsoft, 일반 SMTP 서버 같은 외부 이메일 전송 서비스와 연결해 주는 플러그인입니다.

Email Logs를 통해 성공·실패 기록을 확인할 수 있고 Default Connection과 Fallback Connection도 구성할 수 있어 WordPress 사이트의 이메일 전송 상태를 관리하는 데 유용합니다.

다만 FluentSMTP는 폼 제출 자체를 처리하는 도구가 아니므로 문제가 발생했을 때는 폼 처리와 이메일 전송 단계를 나누어 확인하는 것이 중요합니다.

참고

© 2026 In Kwon