当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP WHMCS SendEmail用法及代码示例


发送客户电子邮件通知。

以下电子邮件模板不能以这种方式发送:

  • 订单确认
  • 密码重置确认
  • 密码重置验证
  • 接受引号
  • 引号接受通知
  • 使用 PDF 引号交付
  • 仅限客户退回消息
  • 仅回复退回邮件
  • 会员月度推荐报告

您必须为相关 ID 提供的内容取决于发送的电子邮件类型。可用的选项有:

  • 常规电子邮件类型 = 客户 ID (tblclients.id)
  • 产品电子邮件类型 = 服务 ID (tblhosting.id)
  • 域电子邮件类型 = 域 ID (tbldomains.id)
  • 发票电子邮件类型 = 发票 ID (tblinvoices.id)
  • 支持电子邮件类型 = 票证 ID (tbltickets.id)
  • 附属电子邮件类型 = 附属 ID (tblaffiliates.id)

发送失败

通用的 Sending Failed 错误响应可能由五种可能的情况之一引起。他们是:

  • 相关 ID 无效
  • 电子邮件模板在处理后不包含正文内容(通常是 Smarty 错误)
  • 为未设置的产品请求的欢迎电子邮件
  • Hook 中止了发送
  • PHPMailer 发送错误 - 在这种失败情况下,将创建一个活动日志条目,记录发生的错误消息

请求参数

参数 类型 说明 必需的
action string “SendEmail” Required
messagename string 要发送的客户端电子邮件模板的名称 Optional
id int 电子邮件模板类型的相关 ID。例如,这应该是一般类型电子邮件的客户端 ID Optional
customtype string 要发送的自定义电子邮件模板的类型 (‘general’, ‘product’, ‘domain’, ‘invoice’, ‘support’, ‘affiliate’) Optional
custommessage string 为自定义电子邮件发送的 HTML 消息正文 Optional
customsubject string 发送自定义电子邮件的主题 Optional
customvars array 要提供给电子邮件模板的自定义变量。可用于现有和自定义电子邮件。 Optional

响应参数

参数 类型 说明
result string 操作结果:成功或错误

示例请求 (CURL)

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
    http_build_query(
        array(
            'action' => 'SendEmail',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            '//example1' => 'example',
            'messagename' => 'Client Signup Email',
            'id' => '1',
            '//example2' => 'example',
            'customtype' => 'product',
            'customsubject' => 'Product Welcome Email',
            'custommessage' => '<p>Thank you for choosing us</p><p>Your custom is appreciated</p><p>{$custommerge}<br />{$custommerge2}</p>',
            'customvars' => base64_encode(serialize(array("custommerge"=>$populatedvar1, "custommerge2"=>$populatedvar2))),
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

示例请求(本地 API)

$command = 'SendEmail';
$postData = array(
    '//example1' => 'example',
    'messagename' => 'Client Signup Email',
    'id' => '1',
    '//example2' => 'example',
    'customtype' => 'product',
    'customsubject' => 'Product Welcome Email',
    'custommessage' => '<p>Thank you for choosing us</p><p>Your custom is appreciated</p><p>{$custommerge}<br />{$custommerge2}</p>',
    'customvars' => base64_encode(serialize(array("custommerge"=>$populatedvar1, "custommerge2"=>$populatedvar2))),
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later

$results = localAPI($command, $postData, $adminUsername);
print_r($results);

示例响应 JSON

{
    "result": "success"
}

错误响应

可能的错误条件响应包括:

  • 您必须提供现有的电子邮件模板名称或自定义消息类型
  • 提供的消息类型无效
  • 自定义消息需要主题
  • 自定义消息需要消息正文
  • 您提供的自定义变量无效。
  • 需要相关身份证件
  • 未找到电子邮件模板
  • 电子邮件模板已禁用
  • 发送失败。请参阅文档。

相关用法


注:本文由纯净天空筛选整理自whmcs.com大神的英文原创作品 SendEmail。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。