Mailjet Как проверить, что электронная почта была подписана или нет

1

Я использую Mailjet для добавления подписчика на рассылку новостей. Как проверить адрес электронной почты или нет.

Я использую следующий метод до этого, но не проверял или не возвращал электронную почту, подписывался или не просто обновлял ее и возвращал успех ответа.

Вот мой код:


$mj            = new \Mailjet\Client(MJ_APIKEY_PUBLIC, MJ_APIKEY_PRIVATE);
// CREATE CONTACT AND SUBSCRIBE AT ONCE
// Adding User into Mailjet Contact as Subscriber for Newsletter
$body          = [
    'Email' => $POST['email'],
    'Name' => $POST['name'],
    'Action' => "addnoforce",
];
$contactlistID = 3;
$response      = $mj->post(\Mailjet\Resources::$ContactslistManagecontact, ['id' => $contactlistID, 'body' => $body]);

// Read the response
if ($response->success()) {
    $feedback = array('type' => 'success', 'msg' => 'Your email has been registered succesfully.');
}

Надеюсь, что решение для него и спасибо тонну.

Теги:
mailjet

1 ответ

1
Лучший ответ

Ответ содержит сведения о $response->success, вы можете легко просмотреть их:

$response->getData()

array(1) {
  [0]=>
    array(5) {
      ["ContactID"]=>
        int(1682906939)
      ["Email"]=>
        string(14) "[email protected]"
      ["Action"]=>
        string(10) "addnoforce"
      ["Name"]=>
        string(13) "Test"
      ["Properties"]=>
        array(0) {
        }
     }
   }

Если вам нужно проверить позже, вы можете позвонить с помощью Resources::$ContactGetcontactslists

$response = $mailjet->get(Resources::$ContactGetcontactslists, [
  'id' => 'email or id'
]);

var_dump($response->getData());
var_dump($response->success());
var_dump($response->getStatus());

Который вернется

array(1) {
  [0]=>
  array(3) {
    ["IsActive"]=>
    bool(true)
    ["IsUnsub"]=>
    bool(false)
    ["ListID"]=>
    int(1)
  }
}
bool(true)
int(200)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню