Отписаться или удалить пользователя из списка рассылки Mailgun с помощью Curl и PHP

Мой код подписки работает нормально, но мой метод отказа от подписки не работает. Когда пользователь закрывает свою учетную запись в моем программном обеспечении, я хочу удалить его из любых списков рассылки Mailgun, в которых он может быть.

Вот что у меня не работает:

    $data = ["subscribed"=>False, 'address'=>$user->email, 'name'=>$user->name];
    $api_key = env('MAILGUN_SECRET');
    $listname = "[email protected]";

    $options=['--user'=>'api:'.$api_key];
    $url = "https://api.mailgun.net/v3/lists/$listname/members";

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($curl, CURLOPT_USERPWD, "api:".$api_key);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

    // Store the data:
    $result = curl_exec($curl);
    curl_close($curl);

Когда я затем запрашиваю список, текущий пользователь по-прежнему отображается как подписанный. Я пытался:

    "subscribed"=>"no"
    "subscribed"=>"False"
    $url = "https://api.mailgun.net/v3/lists/$listname/members/$user->email"; 
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE"); 

но ни одна из этих корректировок не отменила подписку (или не удалила) пользователя. Может ли кто-нибудь показать мне, что я делаю неправильно? ТИА!

Обновление: мне удалось УДАЛИТЬ пользователя, указав все три:

    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

и

    "subscribed"=>"no"

но я также хотел бы отписывать людей, не удаляя. :)

Я просматриваю документ со списками рассылки, и из этого я бы посоветовал: включить адрес электронной почты участника в URL-адрес, как вы пытались, и установить для customrequest значение «PUT» и включить только параметр subscribed в $data.

chiliNUT 23.01.2019 21:19

Большое спасибо за предложение. Это сработало!! /happydance Еще раз спасибо! :D

rottlover 23.01.2019 21:41

нп, удачной рассылки

chiliNUT 23.01.2019 23:44
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
301
0

Другие вопросы по теме