App-wachtwoorden voor mail via API en MCP

Maak, vervang en trek app-wachtwoorden in vanuit code of met een AI-agent, zet één of veel mailboxen om en stel de standaard voor nieuwe mailboxen in.

Artikeldetails

Type, moeilijkheid, abonnementen en wanneer het laatst is bijgewerkt.

▼
Type
Naslagwerk
Moeilijkheid
Gemiddeld
Abonnementen
Starter · Pro · Agency
Laatst bijgewerkt
3 okt. 2026

De REST API en MCP kunnen app-wachtwoorden van een gewone mailbox weergeven, maken, vervangen en intrekken, de aanmeldingsmodus voor mail-apps wijzigen en de accountstandaard voor toekomstige mailboxen instellen. Deze pagina is de referentie voor integraties. Zie App-wachtwoorden voor mail op je apparaten voor dashboard- en webmailinstructies.

Een app-wachtwoord opent IMAP, SMTP op poorten 465 en 587, ManageSieve en CalDAV/CardDAV. Het opent nooit de nieuwe webmail of het dashboard. Klassieke webmail meldt aan via IMAP en accepteert app-wachtwoorden. Mailbox-2FA beschermt alleen de aanmelding bij de nieuwe webmail; mail-apps en klassieke webmail vragen nooit om die code.

Deze functie heeft geen afzonderlijke abonnementseis voor mailboxen. De bestaande abonnementsrechten voor API en MCP blijven gelden; zie API-bereiken en machtigingen.

Verificatie, bereiken en machtigingen van leden

Gebruik een Bearer-token voor REST-verzoeken onder /api/v1. JSON-schrijfacties gebruiken Content-Type: application/json en een Idempotency-Key-header.

Bewerking Vereist intern bereik Aanvullende regel voor leden
App-wachtwoorden weergeven; mailboxresources lezen mailboxes:read De normale toegangsregels voor account, domeinen en mailboxen gelden.
Maken, vervangen, intrekken of één of meer mailboxmodi wijzigen mailboxes:write De rol van het lid moet mailboxes:password:set bevatten.
Accountgegevens lezen account:read De normale accounttoegang geldt.
De standaard voor nieuwe mailboxen wijzigen mailboxes:write Alleen de accounteigenaar; elk lid wordt geweigerd, ongeacht de rol.

De machtiging voor het instellen van wachtwoorden wordt gecontroleerd op de rol van het lid, naast het API-bereik van het token. Dit geldt voor ledentokens en door leden geautoriseerde connectors. Het token van een eigenaar heeft geen extra bereik nodig voor het instellen van wachtwoorden. Een ontbrekende machtiging voor het lid geeft 403 scope_blocked_by_membership terug.

Gehoste OAuth-connectors kunnen de bijbehorende REST-capaciteitsbereiken gebruiken. Bij de oudere bundels levert mail:read de bereiken mailboxes:read en account:read; mail:write levert ook mailboxes:write. Uitbreiding van bereiken omzeilt nooit de regels voor ledenmachtigingen of acties die alleen de eigenaar mag uitvoeren.

De tokenbeperkingen domain_ids en mailbox_ids gelden ook voor bulkselecties. De app-wachtwoordendpoints en beide modusendpoints geven 404 not_found terug als de functie uit staat, na verificatie en middlewarecontroles. Een ontoegankelijke of ontbrekende mailbox geeft ook 404 terug, dus lees niet elke 404 als een signaal over de functiestatus.

Endpoints in één overzicht

De onderstaande paden bevatten het voorvoegsel /api/v1. {mailbox} is de ID van de gewone mailbox; {id} is de ID van een bijbehorende app-wachtwoordvermelding.

Methode Pad Succes
GET /api/v1/mailboxes/{mailbox}/app-passwords 200, lijst zonder geheimen
POST /api/v1/mailboxes/{mailbox}/app-passwords 201, nieuwe vermelding en eenmalig geheim
POST /api/v1/mailboxes/{mailbox}/app-passwords/{id}:rotate 200, vervangende vermelding en eenmalig geheim
DELETE /api/v1/mailboxes/{mailbox}/app-passwords/{id} 200, ingetrokken vermelding
POST /api/v1/mailboxes/{mailbox}:client-auth-mode 200, mailboxmodus
POST /api/v1/mailboxes:client-auth-mode 200, bulkaantallen
GET /api/v1/account 200, accountgegevens en standaard indien beschikbaar
PATCH /api/v1/account 200, standaard voor nieuwe mailboxen
POST /api/v1/mailboxes/{mailbox}/password 200 of 202, wachtwoordreset en aantal intrekkingen

Alle schrijfacties in deze tabel vereisen Idempotency-Key. Het wachtwoordendpoint is een bestaande resetbewerking voor beheerders, los van app-wachtwoordrotatie.

App-wachtwoorden weergeven en velden begrijpen

GET /api/v1/mailboxes/42/app-passwords
Authorization: Bearer tm_live_your_token

Het antwoord bevat op het hoogste niveau mailbox_id, client_auth_mode, limit, active_count en data, een array van vermeldingen. limit is 25 actieve wachtwoorden per mailbox. Actieve vermeldingen staan eerst, met de nieuwste bovenaan; ingetrokken vermeldingen blijven 90 dagen zichtbaar. Geen enkel lijstantwoord bevat een geheim.

Elke vermelding bevat:

Veld Betekenis
id, mailbox_id Gehele getallen voor de app-wachtwoord-ID en mailbox-ID.
name Herkenbaar label van maximaal 64 tekens.
created_at Aanmaaktijd in ISO-8601.
created_via dashboard, webmail, api, mcp of admin.
created_by_user_id Gebruikers-ID van het account, of null als geen accountgebruiker het heeft gemaakt, bijvoorbeeld bij zelfbediening door de mailboxgebruiker.
last_used_at Laatste succesvolle gebruik in ISO-8601, of null vóór het eerste gebruik. Updates kunnen ongeveer vijf minuten achterlopen.
last_used_ip IP-adres van het laatste gebruik, of null.
last_used_protocol imap, smtp, sieve of dav, of null vóór gebruik.
revoked_at Intrektijd in ISO-8601, of null zolang het actief is.
revoked_reason Machineleesbare reden, of null zolang het actief is.
active Boolean die aangeeft of het wachtwoord nog actief is.

Openbare intrekredenen zijn revoked, rotated, mailbox_password_reset, mailbox_password_changed, login_suspended, converted_to_shared en mailbox_trashed. De lijst bevat geen intern door het platform aangemaakte inloggegevens.

Een app-wachtwoord maken

POST /api/v1/mailboxes/42/app-passwords
Authorization: Bearer tm_live_your_token
Content-Type: application/json
Idempotency-Key: app-password-42-office-pc-001

{"name":"Outlook on the office PC"}

name is verplicht: 1 tot 64 afdrukbare tekens. Reeksen witruimte worden teruggebracht tot één spatie. De mailbox moet een actieve gewone mailbox zijn waarvan de aanmelding niet is opgeschort, met minder dan 25 actieve app-wachtwoorden.

Het 201-antwoord bevat de volledige vermelding onder data, voegt data.password toe en bevat message. Dit zijn bijvoorbeeld de velden voor de inloggegevens binnen dat antwoord:

{
  "data": {
    "id": 81,
    "mailbox_id": 42,
    "name": "Outlook on the office PC",
    "password": "abcdefghijklmnop"
  },
  "message": "Shown once. Use it as the password in the mail app; it does not open webmail."
}

Dit voorbeeld laat de andere hierboven beschreven velden weg. Het voorbeeldgeheim is ter illustratie. Een echt geheim bestaat uit 16 gegenereerde kleine letters en wordt zonder spaties teruggegeven. Apps accepteren ook spaties en hoofdletters; toon het in vier groepen van vier als je het aan een gebruiker presenteert.

Het wachtwoord wordt maar één keer teruggegeven. Houd het buiten applicatielogs. De gebruiker voert het rechtstreeks in de mail-app in met het volledige mailboxadres als gebruikersnaam. Bij maken en vervangen wordt een melding met de naam van het app-wachtwoord naar de mailbox en het hersteladres gestuurd, als dat is ingesteld, zonder het geheim. Het eerste app-wachtwoord dat met een nieuwe mailbox wordt uitgegeven, is de uitzondering (zie hieronder).

Gebruik de API voor mailclientconfiguratie voor de verbindingsinstellingen. Een gedownload Apple-profiel bevat geen wachtwoord; de gebruiker voert het app-wachtwoord in wanneer macOS of iOS er tijdens de installatie om vraagt.

Het eerste app-wachtwoord krijgen met een nieuwe mailbox

POST /api/v1/mailboxes en POST /api/v1/mailboxes:bulk accepteren een optionele boolean create_app_password. Met true krijgt elke gemaakte mailbox ook het eerste app-wachtwoord, dat één keer wordt teruggegeven als app_password: de hierboven beschreven velden plus password. Het heet Created with the mailbox, en er wordt geen e-mailmelding voor verstuurd, omdat de mailbox nieuw is en de aanroeper net het wachtwoord heeft ontvangen. Zonder het veld (standaard false) blijft het antwoord ongewijzigd. Het wordt genegeerd zolang app-wachtwoorden niet zijn ingeschakeld.

POST /api/v1/mailboxes
Authorization: Bearer tm_live_your_token
Content-Type: application/json
Idempotency-Key: create-alice-001

{"domain_id":7,"local_part":"alice","password_mode":"generated_one_time","client_auth_mode":"app_password_only","create_app_password":true}

Het 201-antwoord bevat dan one_time_password, het mailboxwachtwoord voor webmail, en app_password.password voor mail-apps. In een bulkantwoord heeft elke gemaakte rij een eigen app_password. Als het niet kon worden uitgegeven, is app_password gelijk aan null (een enkele aanmaak voegt ook _app_password_warning toe); de mailbox wordt toch gemaakt en je kunt er een maken met het endpoint hierboven. Een exacte herhaling van een enkele aanmaak met dezelfde Idempotency-Key geeft hetzelfde antwoord terug, inclusief beide geheimen, zonder een tweede app-wachtwoord uit te geven. Een herhaalde bulkaanvraag laat de geheimen weg, net als bij one_time_password.

Een wachtwoord vervangen of intrekken

Vervangen vereist geen JSON-body:

POST /api/v1/mailboxes/42/app-passwords/81:rotate
Authorization: Bearer tm_live_your_token
Idempotency-Key: replace-app-password-81-001

Het 200-antwoord bevat de nieuwe volledige vermelding onder data, het eenmalige data.password, op het hoogste niveau replaced_id voor de oude vermelding en message. De vervanging heeft een nieuw data.id en dezelfde naam. De oude vermelding wordt ingetrokken met revoked_reason: "rotated", het geheim werkt meteen niet meer en apps die het gebruiken worden afgemeld. Werk het apparaat bij met het vervangende wachtwoord.

Intrekken zonder vervanging:

DELETE /api/v1/mailboxes/42/app-passwords/82
Authorization: Bearer tm_live_your_token
Idempotency-Key: revoke-app-password-82-001

Er is geen body nodig. Het 200-antwoord bevat status: "revoked" en de volledige ingetrokken vermelding onder data. De app verliest toegang; andere apparaten met geldige app-wachtwoorden maken zelf opnieuw verbinding. Intrekken kan niet ongedaan worden gemaakt. Een al ingetrokken vermelding met een nieuw verzoek proberen te vervangen of in te trekken geeft 409 conflict terug.

De aanmeldingsmodus voor mail-apps van één mailbox wijzigen

POST /api/v1/mailboxes/42:client-auth-mode
Authorization: Bearer tm_live_your_token
Content-Type: application/json
Idempotency-Key: require-app-passwords-42-001

{"mode":"app_password_only"}

mode is verplicht en accepteert:

  • app_password_only: mail-apps vereisen een app-wachtwoord. Verbindingen met het mailboxwachtwoord worden afgemeld; apps met een geldig app-wachtwoord maken zelf opnieuw verbinding.
  • password_or_app_password: mail-apps accepteren het mailboxwachtwoord of een app-wachtwoord.

Het 200-antwoord bevat mailbox_id, client_auth_mode en message. De huidige modus opnieuw instellen geeft 200 terug en verandert niets. Een modus wijzigen trekt bestaande app-wachtwoorden niet in.

Maak wachtwoorden voor de apparaten voordat je ze verplicht stelt. Een geweigerde aanmelding met het mailboxwachtwoord kan deze melding geven: "Sign-in failed. This mailbox accepts app passwords only: create one in webmail under Settings > App passwords." (Aanmelden mislukt. Deze mailbox accepteert alleen app-wachtwoorden: maak er een in webmail onder Instellingen > App-wachtwoorden.). Sommige apps tonen alleen een algemene wachtwoordfout.

Gedeelde mailboxen hebben geen rechtstreekse aanmelding en geven op dit endpoint 422 mailbox_not_eligible terug. Systeemmailboxen van het platform kunnen niet naar app_password_only worden omgezet; dat geeft 422 system_mailbox_protected terug.

Geen van beide modi verandert de aanmelding bij de nieuwe webmail, Alle postvakken IN, Message API-tokens, migraties naar de mailbox, mailregels of doorsturen. Leden van gedeelde mailboxen gebruiken de inloggegevens en modus van hun eigen gewone mailbox.

Modi in bulk wijzigen

POST /api/v1/mailboxes:client-auth-mode
Authorization: Bearer tm_live_your_token
Content-Type: application/json
Idempotency-Key: require-app-passwords-domain-7-001

{"domain_id":7,"mode":"app_password_only"}

Geef mode en precies één selectiecriterium op:

Selectiecriterium Selectie
"mailbox_ids": [42, 43] Expliciete niet-lege array met maximaal 1000 ID’s. Duplicaten tellen één keer.
"domain_id": 7 Mailboxen op een domein dat bij dit account hoort.
"all": true Alle mailboxen waartoe het token toegang heeft. false telt niet als selectiecriterium.

Account- en tokenbeperkingen verkleinen elke selectie. Een expliciete ID buiten het toegangsbereik of een onbekende ID geeft 404 terug in plaats van een gedeeltelijke selectie toe te passen. Een onbekend domein of een domein van een ander account geeft 422 validation_error terug. Geen of meerdere selectiecriteria geven 422 invalid_selection terug.

Er mogen maximaal 1000 mailboxen overeenkomen. Een grotere selectie geeft 422 selection_too_large terug voordat iets wordt gewijzigd. Beperk de selectie binnen het domein of stuur expliciete batches.

{
  "data": {
    "client_auth_mode": "app_password_only",
    "matched": 24,
    "updated": 21,
    "skipped": 3
  }
}

matched telt geselecteerde mailboxen; updated telt daadwerkelijke moduswijzigingen; skipped telt gedeelde mailboxen, mailboxen in de prullenbak of mailboxen die worden verwijderd, plus systeemmailboxen van het platform wanneer app-wachtwoorden worden verplicht. Gepauzeerde mailboxen en mailboxen waarvan de aanmelding is opgeschort kunnen hun modus laten bijwerken voor wanneer toegang terugkomt. Mailboxen die al de gevraagde modus hebben, tellen als matched maar niet als updated of skipped, dus de bewerking is veilig te herhalen. Opgeschorte accounts worden geweigerd met 403.

Mailboxstatus lezen en de accountstandaard instellen

Wanneer app-wachtwoorden aan staan, bevatten GET /api/v1/mailboxes en GET /api/v1/mailboxes/{mailbox} deze velden in mailboxresources:

  • client_auth_mode: app_password_only of password_or_app_password.
  • app_passwords_count: geheel getal voor het aantal actieve zichtbare app-wachtwoorden, zonder interne platformreferenties.

Beide velden worden weggelaten als de functie uit staat. Gedeelde mailboxen hebben geen bruikbare rechtstreekse aanmeldingsmodus of app-wachtwoorden; vraag in plaats daarvan de inloggegevens van een gewone mailbox van een lid op.

GET /api/v1/account vereist account:read. De normale velden op het hoogste niveau blijven beschikbaar: id, name, email, plan, effective_plan_slug, subscription_status, limits, features, usage, safety_limits en created_at. Het voegt new_mailbox_client_auth_mode alleen toe als app-wachtwoorden aan staan en het platform de accountstandaard toepast op nieuwe mailboxen. Anders blijft GET beschikbaar en laat het dat veld weg.

Alleen de accounteigenaar kan de standaard wijzigen:

PATCH /api/v1/account
Authorization: Bearer tm_live_owner_token
Content-Type: application/json
Idempotency-Key: new-mailbox-default-001

{"new_mailbox_client_auth_mode":"app_password_only"}

Het verplichte veld accepteert dezelfde twee modi. Dit is hier het enige schrijfbare accountveld. Het antwoord bevat op het hoogste niveau id, new_mailbox_client_auth_mode en message. PATCH geeft 404 terug tenzij aan beide voorwaarden voor het tonen van het veld is voldaan, en 403 scope_blocked_by_membership voor elk ledentoken of elke door een lid geautoriseerde connector.

Een eigenaarstoken dat door domain_ids of mailbox_ids is beperkt, geeft 403 token_resource_constrained terug. Gebruik een eigenaarstoken zonder resourcebeperkingen of wijzig de standaard in de accountinstellingen.

De standaard geldt voor toekomstige mailboxen die via het dashboard, in bulk, via uitnodigingen, de API of agents worden gemaakt. Bestaande mailboxen veranderen nooit. Bij het maken van één mailbox via de API kan client_auth_mode expliciet worden opgegeven in POST /api/v1/mailboxes; weglaten volgt de accountstandaard. Bestaande mailboxen houden bij de uitrol password_or_app_password. De standaard voor nieuwe mailboxen is app_password_only, tenzij de accounteigenaar dit wijzigt.

Een mailboxwachtwoordreset trekt app-wachtwoorden automatisch in

POST /api/v1/mailboxes/{mailbox}/password vereist mailboxes:write, dezelfde machtiging voor het instellen van wachtwoorden voor leden en Idempotency-Key. De body vereist password, het nieuwe mailboxwachtwoord, volgens het mailboxwachtwoordbeleid. Dit is geen endpoint voor het maken van app-wachtwoorden.

Elke geslaagde reset door een beheerder via dit endpoint, ook een wachtwoordwijziging door een MCP-agent, trekt alle app-wachtwoorden in met reden mailbox_password_reset. Er is geen optie om dit over te slaan. Wanneer de functie aan staat, bevat het antwoord app_passwords_revoked, een geheel getal, naast status, sync_pending en message:

  • 200, status: "updated", sync_pending: false als de synchronisatie met de mailserver is voltooid.
  • 202, status: "update_pending", sync_pending: true als het wachtwoord is opgeslagen en synchronisatie nog in behandeling is. App-wachtwoorden zijn op dat moment al ingetrokken.

De reset trekt ook bestaande berichttokens van de mailbox in. Dit is een gevolg van het opnieuw instellen van het mailboxwachtwoord, niet van het roteren van één app-wachtwoord of het wijzigen van de mail-appmodus.

Eigen wachtwoordwijzigingen in webmail trekken app-wachtwoorden alleen in als de gebruiker Ook alle app-wachtwoorden intrekken selecteert. Wachtwoordherstel, opschorting van de aanmelding, omzetting naar een gedeelde mailbox en verplaatsing naar Onlangs verwijderd trekken ze allemaal in. Toegang of de mailbox herstellen brengt ingetrokken geheimen niet terug. Zie Aanmelding bij mailbox opschorten via API.

Idempotentie en eenmalige geheimen

Gebruik een nieuwe Idempotency-Key voor elke bedoelde schrijfactie en hergebruik die alleen als hetzelfde verzoek met dezelfde methode, hetzelfde pad en dezelfde body na een transportfout opnieuw wordt geprobeerd. Sleutels zijn verplicht en mogen maximaal 255 tekens bevatten. Geslaagde antwoorden worden gedurende het standaardvenster van 24 uur gecachet; een sleutel voor een ander verzoek hergebruiken geeft 409 idempotency_mismatch terug.

Een herhaling van het maken of roteren van een app-wachtwoord geeft dezelfde veilige identificatoren terug maar laat data.password weg. Het antwoord bevat _idempotency_replay_warning en de header X-Idempotency-Replayed: true. Een herhaling kan een verloren geheim niet herstellen. Gebruik het teruggegeven data.id om de actieve vermelding met een nieuwe sleutel te roteren en een bruikbare vervanging te krijgen. Houd de nieuwe ID na rotatie bij.

Een geslaagde intrekking met dezelfde sleutel herhalen geeft het opgeslagen resultaat terug. Een nieuw intrekverzoek voor die al ingetrokken vermelding geeft 409 conflict terug. Moduswijzigingen zijn van nature herhaalbaar, maar geef elke bedoelde wijziging een nieuwe sleutel: een eerdere sleutel hergebruiken na een moduswijziging kan een oud antwoord herhalen in plaats van de nieuwe bedoeling toe te passen.

Snelheidslimieten en fouten

Maken is beperkt tot 60 per uur per account en vervangen tot 30 per uur per account. Deze accountlimieten worden gedeeld door API- en MCP-aanroepers en zijn geen afzonderlijke quota per token. Bulkmoduswijzigingen hebben een extra limiet van 10 verzoeken per minuut. De normale API-limiet geldt ook voor deze routes; standaard is die 60 verzoeken per minuut per aanmeldingsgegeven. Een beperkt verzoek geeft 429 rate_limited terug; respecteer de Retry-After-header voordat je het opnieuw probeert.

Fouten gebruiken het standaardobject error met code, message, hint, request_id en retryable. Verwerk de machineleesbare code in plaats van tekst te vergelijken.

Status en code Betekenis of volgende stap
401 unauthenticated Ontbrekende, ongeldige of verlopen verificatie.
403 insufficient_scope Het vereiste tokenbereik ontbreekt.
403 scope_blocked_by_membership Het lid mist de machtiging om wachtwoorden in te stellen, of een lid probeerde de accountstandaard te wijzigen.
403 token_resource_constrained Een eigenaarstoken dat tot bepaalde domeinen of mailboxen is beperkt, kan de accountbrede standaard niet wijzigen; gebruik een eigenaarstoken zonder resourcebeperkingen of de accountinstellingen.
403 token_scope_blocked_by_plan Een eerder toegekend bereik is niet beschikbaar in het huidige abonnement van het account.
403 forbidden Toegang wordt geweigerd; het bulkendpoint weigert ook een opgeschort account.
404 not_found Functie uitgeschakeld, accountstandaardbewerking niet beschikbaar of mailbox/app-wachtwoordvermelding ontoegankelijk of ontbrekend.
409 conflict Wachtwoord al ingetrokken of een gelijktijdige bewerking verhindert voltooiing.
409 idempotency_mismatch Sleutel hergebruikt voor een ander verzoek.
422 validation_error Ontbrekend of ongeldig verzoekveld of ongeldig domeinselectiecriterium.
422 invalid_name De app-wachtwoordnaam bevat geen 1 tot 64 afdrukbare tekens.
422 app_password_limit_reached De mailbox heeft al 25 actieve wachtwoorden; trek een ongebruikt wachtwoord in.
422 mailbox_not_eligible Maken/roteren vereist een actieve gewone mailbox met beschikbare aanmelding; gedeelde mailboxen kunnen ook geen eigen modus krijgen.
422 system_mailbox_protected Een systeemmailbox van het platform moet het mailboxwachtwoord blijven accepteren.
422 invalid_selection Het bulkverzoek bevat geen of meerdere selectiecriteria.
422 selection_too_large Meer dan 1000 mailboxen komen overeen met het bulkselectiecriterium.
422 missing_idempotency_key of invalid_idempotency_key De schrijfactie liet de verplichte sleutel weg of overschreed 255 tekens.
429 rate_limited Een snelheidslimiet is bereikt; wacht voordat je het opnieuw probeert.
503 idempotency_unavailable Idempotentie kan deze aanroeper niet identificeren; vernieuw de verificatie voordat je het opnieuw probeert.

MCP-tools en controle op destructieve acties

MCP gebruikt dezelfde REST-autorisatie en antwoordvelden. De directe tools zijn:

Tool Invoer en actie
list_mailbox_app_passwords mailbox_id; geeft de lijst, modus, limiet en het actieve aantal terug zonder geheimen. Alleen-lezen.
create_mailbox_app_password mailbox_id, name; maakt één wachtwoord met eenmalig data.password.
rotate_mailbox_app_password mailbox_id, app_password_id; trekt de oude vermelding in en geeft een vervanging en replaced_id terug.
revoke_mailbox_app_password mailbox_id, app_password_id; trekt het aanmeldingsgegeven permanent in.
set_mailbox_client_auth_mode client_auth_mode en precies één van mailbox_id, mailbox_ids, domain_id of all: true; stelt één mailbox of een bulkselectie in.
get_account Geen invoer; leest accountgegevens en de standaard voor nieuwe mailboxen indien beschikbaar.
update_account new_mailbox_client_auth_mode; stelt de toekomstige standaard in, alleen voor de eigenaar.

De tools voor het maken van mailboxen create_mailbox_generated_password en bulk_create_mailboxes accepteren dezelfde optionele invoer create_app_password als REST.

Schrijftools accepteren ook een optionele idempotency_key. REST gebruikt het bodyveld mode voor mailboxmoduswijzigingen; de MCP-tool noemt deze invoer client_auth_mode. De bulkselectiecriteria hebben dezelfde toegangsregels en limiet van 1000 mailboxen als REST.

list_mailbox_app_passwords(mailbox_id=42)
create_mailbox_app_password(mailbox_id=42, name="Outlook on the office PC")
rotate_mailbox_app_password(mailbox_id=42, app_password_id=81)
revoke_mailbox_app_password(mailbox_id=42, app_password_id=82)
set_mailbox_client_auth_mode(mailbox_id=42, client_auth_mode="app_password_only")
set_mailbox_client_auth_mode(domain_id=7, client_auth_mode="app_password_only")
update_account(new_mailbox_client_auth_mode="app_password_only")

In de zelfgehoste server vereist elke bovenstaande schrijfactie TREKMAIL_ALLOW_DESTRUCTIVE=true. Ook het maken van inloggegevens valt onder deze controle, omdat het mailboxtoegang geeft. Lijsten en accountgegevens lezen vereisen deze vlag niet. Vraag de gebruiker om de bedoelde wijziging aan inloggegevens of toegang goed te keuren voordat je een schrijfactie uitvoert. Directe tools die geheimen teruggeven, instrueren de agent om het wachtwoord één keer te tonen, de gebruiker het in de app te laten plakken en het nooit in bestanden of geheugen op te slaan of in latere berichten of toolaanroepen te herhalen.

Directoryprofielen van ChatGPT/OpenAI en Claude

Deze profielen geven bij maken en vervangen een beveiligde dashboardlink voor het instellen, in plaats van een geheim in de chat aan te maken. Ook het maken van een mailbox is daar een dashboardlink, dus het eerste app-wachtwoord komt van de kaart Mailbox aangemaakt in het dashboard, niet van create_app_password. De bestemming is /app/mailboxes/{mailbox_id}/security#app-passwords; de gebruiker meldt zich aan en voltooit de actie daar.

Het OpenAI-profiel biedt get_mailbox_app_password_setup_link en get_mailbox_app_password_replacement_setup_link. Het Claude-profiel houdt de namen create_mailbox_app_password en rotate_mailbox_app_password, maar geeft de beveiligde instellink terug in plaats van data.password. Beloof geen geheim uit die directorytools en vraag de gebruiker niet om er een in de conversatie te plakken.

Gebruik get_mail_client_setup voor verbindingsgegevens. Zie AI-agents verbinden voor algemene connectorconfiguratie. White Label-mailboxen gebruiken dezelfde API-functie en webmail- en mailhosts met het eigen merk; noem het aanmeldingsgegeven een app-wachtwoord in instructies voor gebruikers.

Gerelateerde artikelen

Spring naar nabije gidsen die de workflow voortzetten.

Inloggen bij TrekMail

Toegang tot je dashboard, mailboxen en DNS.

12 tekens wachtwoorden komen overeen

Herstelmail verzonden

Als er een account bestaat voor dit e-mailadres, hebben we instructies gestuurd om je wachtwoord opnieuw in te stellen.

Door verder te gaan ga je akkoord met de TrekMail- Voorwaarden en het Privacybeleid.