MCPcopy Create free account
hub / github.com/clawshell/clawshell / get_message_content_imap_blocking

Function get_message_content_imap_blocking

src/email.rs:275–294  ·  view source on GitHub ↗
(
    credentials: &EmailAccountCredentials,
    request: &EmailGetMessageRequest,
    timeout: Duration,
)

Source from the content-addressed store, hash-verified

273}
274
275fn get_message_content_imap_blocking(
276 credentials: &EmailAccountCredentials,
277 request: &EmailGetMessageRequest,
278 timeout: Duration,
279) -> Result<EmailMessageContent, EmailServiceError> {
280 let mut session = connect_and_login(credentials, timeout)?;
281 session.select_mailbox(&request.folder)?;
282
283 let uid = request
284 .message_id
285 .trim()
286 .parse::<u64>()
287 .map_err(|_| EmailServiceError::Api("invalid message id".to_string()))?;
288 let content = session
289 .fetch_message_content(uid)?
290 .ok_or_else(|| EmailServiceError::NotFound(request.message_id.clone()))?;
291
292 session.logout();
293 Ok(content)
294}
295
296struct ImapCommandOutput {
297 lines: Vec<String>,

Callers 1

get_message_contentMethod · 0.85

Calls 4

connect_and_loginFunction · 0.85
select_mailboxMethod · 0.80
fetch_message_contentMethod · 0.80
logoutMethod · 0.80

Tested by

no test coverage detected