1

SparkPost PHP APIを使用して電子メールを受信者に送信していますが、このエラーに直面しています。現在、必要なフィールドをすべて設定しましたが、サイズの大きい電子メールにはまだ問題があります。小さなテキストは簡単に送信できますが、大きなデータを送信するのは困難です。

[{"メッセージ":"必須フィールドがありません","説明":"'テキスト' または 'html' の少なくとも 1 つが 'コンテンツ' に存在する必要があります","コード":"1400"}]

私のコードは次のとおりです。

for ($j = 0; $j < count($result1arr); $j++) {

    try {

        SparkPost::setConfig(["key" => "XXXXX"]);
        $results = Transmission::send(array(
                    "from" => "test@universityfood.co",
                    "html" => $resultarr['mailBody'],
                    "text" => $resultarr['mailBody'],
                    "subject" => $resultarr['subject'],
                    "recipientList" => $result1arr[$j]['groupName']
        ));

        $_SESSION['success_message'] = 'Email sended successfully to Recipient List with ID : ' . $data['recipients_id'];
        $qry = "DELETE  from mailQueue where mailQueueId={$result1arr[$j]['mailQueueId']}";
        $res = $conn->query($qry);
        $sql1 = "INSERT INTO sendMailHistory (schoolName,noOfMailSent) VALUES ('{$result1arr[$j]['originalGroupId']}','{$results['results']['total_accepted_recipients']}')";
        $result1 = $conn->query($sql1);

        $chc = curl_init();
        curl_setopt($chc, CURLOPT_URL, "https://api.sparkpost.com/api/v1/recipient-lists/{$result1arr[$j]['groupName']}");
        curl_setopt($chc, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($chc, CURLOPT_HEADER, FALSE);
        curl_setopt($chc, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($chc, CURLOPT_CUSTOMREQUEST, "DELETE");
        curl_setopt($chc, CURLOPT_HTTPHEADER, array(
            "Accept: application/json",
            "Authorization: XXXXX"
        ));

        $response = curl_exec($chc);
        curl_close($chc);
        header('Location: ../index.php');
        exit;
        return true;
    } catch (\Exception $exception) {
        echo $exception->getMessage();
    }
}
4

1 に答える 1

1

$resultarr['mailBody']が定義されていないため、これが発生しています。

配列$resultarrが存在することを確認しますか? その場合、mailBody要素が欠落している必要があります。

text一部またはhtml一部、またはその両方を提供できます。ただし、どちらも指定しないと、次のエラーが発生しますAt least one of 'text' or 'html' needs to exist in 'content'

この場合、未定義であると配列の要素と要素$resultarr['mailBody']が未定義になるため、どちらも提供されません。texthtml

于 2016-01-14T19:30:42.387 に答える