Curl сообщает, что пользователь создан, но это не сработало

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

Вот команда curl:

curl -X POST -H “Content-Type: multipart/form-data;” -H “api-key=secret” -H “api-username=system” -F “username=1002-nolan” -F “email=mnolan@tssi.com” -F “password=secret” -F “name=Mike Nolan” -F “staged=true” -F “active=true” -F “approved=true” “https://mysite/users.json/

Вот ответ:

“success”:true,“active”:false,“message”:“\u003cp\u003eВы почти закончили! Мы отправили письмо с активацией на \u003cb\u003emnolan@tssi.com\u003c/b\u003e. Пожалуйста, следуйте инструкциям в письме для активации вашей учётной записи.\u003c/p\u003e\u003cp\u003eЕсли письмо не пришло, проверьте папку со спамом.\u003c/p\u003e”}

Кроме того, я думал, что установка active=true предотвратит отправку письма с подтверждением.

Я не думаю, что вам нужен параметр staged=true. Это то, что я бы попробовал следующим.\n\nВ какой-то момент вам пришлось создать пользователя в одном шаге и активировать его в другом.\n\nВозможно, стоит сделать шаг назад и подробнее рассказать о том, что вы пытаетесь сделать. Хотите ли вы импортировать группу пользователей один раз (тогда лучше подойдет скрипт импорта) или делать это постоянно (тогда лучше подойдет DiscourseConnect).

Проблема решена: мне пришлось убедиться, что заголовки правильно отформатированы с использованием двоеточия вместо знака равенства.

Я попытался изучить скрипт импорта mbox, но, похоже, в нём отсутствует множество функций, как отмечено в этом сообщении:

В любом случае, я хотел поэкспериментировать с созданием идентификаторов пользователей (Mailman их не использует), поскольку я импортирую архивы за 20 лет, и многие из этих пользователей больше не активны или используют другие адреса электронной почты. В базе данных сейчас около 700 пользователей из старой системы, но добавление 100 000 сообщений может вызвать другие проблемы.

Я убрал поле staged=true, так как оно всё равно не работало.

Мне потребовался один вечер, чтобы написать инструменты на PHP, которые распарсили все архивы Mailman pipermail и создали набор идентификаторов пользователей; это оказалось не так уж сложно.