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를 원하지 않을 것 같습니다. 다음으로 시도해 볼 방법입니다.

어느 시점에 사용자를 한 단계에서 생성하고 다른 단계에서 활성화해야 했습니다.

한 발 물러서서 무엇을 하려는지 더 자세히 말씀해 주시면 좋겠습니다. 한 번에 여러 사용자를 가져오려는 건가요(이 경우 가져오기 스크립트가 더 적합할 수 있음)? 아니면 지속적으로 이 작업을 수행하려는 건가요(이 경우 DiscourseConnect가 더 적합할 수 있음)?

문제가 해결되었습니다. 헤더가 등호(=)가 아니라 콜론(:)으로 올바르게 포맷팅되어 있는지 확인해야 했기 때문입니다.

mbox 가져오기 스크립트를 살펴보았지만, 이 게시물에서 언급된 것처럼 많은 부분이 누락되어 있는 것 같습니다:

어쨌든, 저는 사용자 ID를 생성하는 것을 직접 해보고 싶었습니다(Mailman은 사용자 ID를 사용하지 않으므로). 제가 하고 있는 작업은 20년치 아카이브를 가져오는 것이며, 그 중 많은 사용자는 더 이상 활동하지 않거나 다른 이메일 주소를 사용하고 있습니다. 현재 데이터베이스에는 구 시스템에서 온 약 700명의 사용자가 있고, 100,000개의 게시물을 추가하면 다른 문제들이 발생할 수 있습니다.

staged=true 필드를 제거했는데, 어쨌든 작동하지 않는 것 같았습니다.

PHP 도구를 작성해 그 모든 Mailman pipermail 아카이브를 파싱하고 사용자 ID 세트를 구축하는 데 하루 저녁이 걸렸는데, 그렇게 어렵지 않았습니다.