Daworks Outbound Mailer for Ncloud
Daworks Outbound Mailer for Ncloud는 기본 PHP mail 함수 대신 Ncloud Cloud Outbound Mailer API를 통해 모든 WordPress 이메일을 발송할 수 있게 해줍니다.
Daworks 제작 – 전문 WordPress 개발.
참고: 이 플러그인은 Daworks에서 개발되었으며, NAVER Cloud Platform 또는 Ncloud와 제휴, 보증 또는 공식적인 관련이 없습니다.
기능
- WordPress 관리자 화면에서 간편한 설정
- 다중 리전 지원 (한국, 싱가포르, 일본)
- HTML 및 일반 텍스트 이메일 지원
- CC 및 BCC 지원
- 최근 100건의 이메일 로깅
- 연결 테스트 및 테스트 이메일 발송 기능
- 주요 플러그인과 호환 (Contact Form 7, WooCommerce 등)
요구 사항
- WordPress 5.6 이상
- PHP 7.4 이상
- Ncloud Cloud Outbound Mailer 서비스 이용
- Ncloud API Access Key 및 Secret Key
설정
- Ncloud Cloud Outbound Mailer 서비스에 가입하세요
- Ncloud 콘솔에서 API Access Key와 Secret Key를 발급받으세요
- 발신 도메인을 등록하고 인증하세요 (아래 도메인 설정 참조)
- WordPress 관리자 화면에서 설정 > Ncloud Mailer로 이동하세요
- API 인증 정보와 발신자 정보를 입력하세요
- 메일러를 활성화하고 테스트 이메일 기능으로 테스트하세요
도메인 설정
이메일을 발송하기 전에 Ncloud 콘솔에서 도메인을 등록하고 인증해야 합니다.
1단계: 도메인 등록
- Ncloud 콘솔 > Cloud Outbound Mailer > 도메인 관리로 이동하세요
- “+ 도메인 등록” (Add Domain)을 클릭하세요
- 도메인 이름을 입력하세요 (예: example.com)
2단계: 도메인 인증 토큰
도메인 소유권을 확인하기 위해 TXT 레코드를 추가합니다:
- 도메인 관리에서 “인증 토큰” (Verification Token) 옆의 “보기” (View)를 클릭하세요
- 인증 토큰 값을 복사하세요
- Add a TXT record to your DNS:
- Host: @ (또는 사용자 도메인)
- Type: TXT
- Value: (인증 토큰 붙여넣기)
- “새로 고침” (Refresh)을 클릭하여 인증하세요
3단계: SPF 레코드
SPF (Sender Policy Framework)는 Ncloud가 사용자를 대신하여 이메일을 발송할 수 있도록 인증합니다:
- “SPF 레코드” 옆의 “보기” (View)를 클릭하세요
- SPF 레코드 값을 복사하세요
- Add a TXT record to your DNS:
- Host: @
- Type: TXT
- Value:
v=spf1 include:_spfblocka.ncloud.com ~all
- “사용” (Enable)을 클릭하여 SPF를 활성화하세요
4단계: DKIM 레코드
DKIM (DomainKeys Identified Mail)은 이메일에 디지털 서명을 추가합니다:
- “DKIM” 옆의 “보기” (View)를 클릭하세요
- DKIM 레코드 값을 복사하세요
- Add a TXT record to your DNS:
- Host: (제공된 선택자, 예:
ncloud._domainkey) - Type: TXT
- Value: (DKIM 공개 키 붙여넣기)
- Host: (제공된 선택자, 예:
- “사용” (Enable)을 클릭하여 DKIM을 활성화하세요
5단계: DMARC 레코드 (권장)
DMARC는 인증 실패 처리에 대한 지침을 제공합니다:
- Add a TXT record to your DNS:
- Host:
_dmarc - Type: TXT
- Value:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
- Host:
- 인증 후 정책을
p=quarantine또는p=reject로 변경하는 것을 고려하세요
DNS 레코드 요약
Type Host Value
TXT @ (Verification Token)
TXT @ v=spf1 include:_spfblocka.ncloud.com ~all
TXT ncloud._domainkey (DKIM Public Key)
TXT _dmarc v=DMARC1; p=none; rua=mailto:you@domain.com
참고: DNS 전파에 최대 24-48시간이 소요될 수 있습니다. 완료되면 인증 상태가 “인증 완료” (Verified)로 표시됩니다.
외부 서비스
이 플러그인은 이메일 발송을 위해 NAVER Cloud Platform의 Cloud Outbound Mailer API를 서드파티 외부 서비스로 사용합니다. 이 서비스 없이는 이메일을 발송할 수 없습니다.
NAVER Cloud Platform – Cloud Outbound Mailer
서비스 제공자: NAVER Cloud Corp. 서비스 웹사이트: https://www.ncloud.com/product/applicationService/cloudOutboundMailer 서비스 이용약관: https://www.ncloud.com/policy/terms/service 개인정보처리방침: https://www.ncloud.com/policy/privacy/privacy
이 서비스의 기능: 이 플러그인은 기본 PHP mail 함수 대신 NAVER Cloud Platform Cloud Outbound Mailer API를 통해 모든 WordPress 이메일(사용자 등록, 비밀번호 재설정, 문의 양식 제출, WooCommerce 알림 및 wp_mail()을 통해 발송되는 모든 이메일)을 발송합니다.
이 서비스로 전송되는 데이터: WordPress에서 이메일을 발송할 때마다 다음 데이터가 NAVER Cloud Platform API로 전송됩니다:
- 발신자 이메일 주소 및 이름 (플러그인 설정에서 구성)
- 수신자 이메일 주소 (To, CC, BCC)
- 이메일 제목
- 이메일 본문 내용 (HTML 또는 일반 텍스트)
- Reply-To 주소 (제공된 경우)
데이터 전송 시점: 이 플러그인이 활성화된 상태에서 WordPress가 wp_mail() 함수를 통해 이메일을 보낼 때마다 데이터가 전송됩니다. 여기에는 사용자 등록 이메일, 비밀번호 재설정 이메일, 댓글 알림, 플러그인/테마 업데이트 알림, WooCommerce 주문 이메일, Contact Form 7 제출 등이 포함되지만 이에 국한되지 않습니다.
API 엔드포인트 (NAVER Cloud Platform의 API 게이트웨이 도메인인 ntruss.com에서 호스팅):
- 한국: https://mail.apigw.ntruss.com/api/v1
- 싱가포르: https://mail.apigw.ntruss.com/api/v1-sgn
- 일본: https://mail.apigw.ntruss.com/api/v1-jpn
이 플러그인을 사용하면 NAVER Cloud Platform의 서비스 이용약관 및 개인정보처리방침에 동의하는 것으로 간주됩니다.
개발자 문서
필터
ncloud_mailer_before_send 발송 전 메일 데이터를 수정합니다.
add_filter( 'ncloud_mailer_before_send', function( $body, $mail_data ) {
// Modify $body array before sending
return $body;
}, 10, 2 );
ncloud_mailer_fallback_on_error 오류 시 기본 wp_mail로 대체 발송을 활성화합니다.
add_filter( 'ncloud_mailer_fallback_on_error', '__return_true' );
ncloud_mailer_enable_logging 이메일 로깅을 비활성화합니다.
add_filter( 'ncloud_mailer_enable_logging', '__return_false' );
액션
ncloud_mailer_init 플러그인이 완전히 초기화된 후 실행됩니다.
ncloud_mailer_after_send 이메일 발송 성공 후 실행됩니다.
ncloud_mailer_error 이메일 발송 중 오류가 발생하면 실행됩니다.
디버깅
이메일 로그
플러그인은 최근 100개의 이메일 로그를 WordPress transient(ncloud_mailer_logs)에 저장합니다. 프로그래밍 방식으로 로그를 조회할 수 있습니다:
$logs = get_transient( 'ncloud_mailer_logs' );
foreach ( $logs as $log ) {
echo $log['time'] . ' - ' . $log['status'] . ' - ' . $log['subject'];
}
각 로그 항목에는 다음이 포함됩니다:
* time – 이메일 발송 시각
* status – ‘success’ 또는 ‘error’
* to – 수신자 이메일 주소
* subject – 이메일 제목
* request_id – Ncloud 요청 ID (성공 시에만)
* code – 오류 코드 (오류 시에만)
* message – 오류 메시지 (오류 시에만)
WordPress 디버그 로그
WP_DEBUG가 활성화되면 오류가 wp-content/debug.log에도 기록됩니다:
// In wp-config.php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
로그 형식: [Ncloud Mailer Error] {code}: {message} (To: {recipients}, Subject: {subject})
로깅 비활성화
로깅을 완전히 비활성화하려면:
add_filter( 'ncloud_mailer_enable_logging', '__return_false' );
