Daworks Outbound Mailer for Ncloud
Daworks Outbound Mailer for Ncloud 允许您通过 Ncloud Cloud Outbound Mailer API 发送所有 WordPress 邮件,而非使用默认的 PHP mail 函数。
由 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 访问密钥和密钥
设置
- 注册 Ncloud Cloud Outbound Mailer 服务
- 从 Ncloud 控制台获取您的 API 访问密钥和密钥
- 注册并验证您的发送域名(请参阅下面的域名设置)
- Go to Settings > Ncloud Mailer in WordPress admin
- 输入您的 API 凭据和发件人信息
- 启用邮件发送功能并通过测试邮件功能进行测试
域名设置
发送邮件前,您必须在 Ncloud 控制台中注册并验证您的域名。
第 1 步:注册域名
- 前往 Ncloud 控制台 > Cloud Outbound Mailer > 域名管理
- 点击”+ 도메인 등록”(添加域名)
- 输入您的域名(例如 example.com)
第 2 步:域名验证令牌
添加 TXT 记录以验证域名所有权:
- 在域名管理中,点击”인증 토큰”(验证令牌)旁边的”보기”(查看)
- 复制验证令牌值
- 在您的 DNS 中添加 TXT 记录:
- 主机:@(或您的域名)
- 类型:TXT
- 值:(粘贴验证令牌)
- 点击”새로 고침”(刷新)进行验证
第 3 步:SPF 记录
SPF(发件人策略框架)授权 Ncloud 代表您发送邮件:
- 点击”SPF 레코드”旁边的”보기”(查看)
- 复制 SPF 记录值
- 在您的 DNS 中添加 TXT 记录:
- 主机:@
- 类型:TXT
- 值:
v=spf1 include:_spfblocka.ncloud.com ~all
- 点击”사용”(启用)以激活 SPF
第 4 步:DKIM 记录
DKIM(DomainKeys Identified Mail)为您的邮件添加数字签名:
- 点击”DKIM”旁边的”보기”(查看)
- 复制 DKIM 记录值
- 在您的 DNS 中添加 TXT 记录:
- 主机:(提供的选择器,例如
ncloud._domainkey) - 类型:TXT
- 值:(粘贴 DKIM 公钥)
- 主机:(提供的选择器,例如
- 点击”사용”(启用)以激活 DKIM
第 5 步:DMARC 记录(推荐)
DMARC 提供了处理身份验证失败的指令:
- 在您的 DNS 中添加 TXT 记录:
- 主机:
_dmarc - 类型:TXT
- 值:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
- 主机:
- 验证后,建议将策略更改为
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 小时。验证完成后,验证状态将显示”인증 완료”(已验证)。
外部服务
本插件依赖 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
此服务的功能: 本插件通过 NAVER Cloud Platform Cloud Outbound Mailer API 发送所有 WordPress 邮件(用户注册、密码重置、联系表单提交、WooCommerce 通知以及通过 wp_mail() 发送的任何邮件),而非使用默认的 PHP mail 函数。
向此服务发送哪些数据: 每次 WordPress 触发邮件时,以下数据将被传输到 NAVER Cloud Platform API:
- 发件人邮件地址和名称(在插件设置中配置)
- 收件人邮件地址(收件人、抄送、密送)
- 邮件主题行
- 邮件正文内容(HTML 或纯文本)
- 回复地址(如有提供)
数据发送时机: 每次 WordPress 通过 wp_mail() 函数发送邮件时都会发送数据(前提是已启用本插件)。包括但不限于:用户注册邮件、密码重置邮件、评论通知、插件/主题更新通知、WooCommerce 订单邮件以及 Contact Form 7 提交。
API 端点(托管在 ntruss.com,即 NAVER Cloud Platform 的 API 网关域名):
- 韩国: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'];
}
Each log entry contains:
* time – Timestamp of the email
* status – ‘success’ or ‘error’
* to – Recipient email addresses
* subject – Email subject
* request_id – Ncloud request ID (success only)
* code – Error code (error only)
* message – Error message (error only)
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' );
