{"record":{"id":"ec735c504640661f","repo":"zeroclaw-labs/zeroclaw","slug":"ms365-mail-send-failed-status-code-code","errorCode":null,"errorMessage":"ms365: mail_send failed ({status}, code={code})","messagePattern":"ms365: mail_send failed \\((.+?), code=(.+?)\\)","errorType":"http","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-tools/src/microsoft365/graph_client.rs","lineNumber":98,"sourceCode":"    let resp = client\n        .post(&url)\n        .bearer_auth(token)\n        .json(&payload)\n        .send()\n        .await\n        .context(\"ms365: mail_send request failed\")?;\n\n    if !resp.status().is_success() {\n        let status = resp.status();\n        let body = resp.text().await.unwrap_or_default();\n        let code = extract_graph_error_code(&body).unwrap_or_else(|| \"unknown\".to_string());\n        ::zeroclaw_log::record!(\n            DEBUG,\n            ::zeroclaw_log::Event::new(module_path!(), ::zeroclaw_log::Action::Note)\n                .with_attrs(::serde_json::json!({\"body\": body})),\n            \"ms365: mail_send raw error body\"\n        );\n        anyhow::bail!(\"ms365: mail_send failed ({status}, code={code})\");\n    }\n\n    Ok(())\n}\n\n/// List messages in a Teams channel.\npub async fn teams_message_list(\n    client: &reqwest::Client,\n    token: &str,\n    team_id: &str,\n    channel_id: &str,\n    top: u32,\n) -> anyhow::Result<serde_json::Value> {\n    let url = format!(\n        \"{GRAPH_BASE}/teams/{}/channels/{}/messages\",\n        encode_path_segment(team_id),\n        encode_path_segment(channel_id)\n    );","sourceCodeStart":80,"sourceCodeEnd":116,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-tools/src/microsoft365/graph_client.rs#L80-L116","documentation":"Error \"ms365: mail_send failed ({status}, code={code})\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-tools/src/microsoft365/graph_client.rs:98 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the Graph error code; verify Mail.Send permission and recipient addresses."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}