當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。