email

Email (IMAP/SMTP via curl)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "email" with this command: npx skills add kortix-ai/kortix-registry/kortix-ai-kortix-registry-email

Email (IMAP/SMTP via curl)

Send and receive email from the terminal. Just curl . Works with any provider — AgentMail, Gmail, Outlook, Fastmail, self-hosted, anything with IMAP/SMTP.

By default uses the agent's own inbox (env vars below). Can also target any arbitrary SMTP/IMAP server by swapping the credentials.

Default Credentials (agent's inbox)

These env vars are pre-configured:

USER="$KORTIX_AGENT_EMAIL_INBOX_USER_NAME" PASS="$KORTIX_AGENT_EMAIL_INBOX_PASSWORD" SMTP="smtps://$KORTIX_AGENT_EMAIL_INBOX_SMTP_HOST:$KORTIX_AGENT_EMAIL_INBOX_SMTP_PORT" IMAP="imaps://$KORTIX_AGENT_EMAIL_INBOX_IMAP_HOST:$KORTIX_AGENT_EMAIL_INBOX_IMAP_PORT" FROM="$KORTIX_AGENT_EMAIL_INBOX_FROM_NAME <$KORTIX_AGENT_EMAIL_INBOX_FROM_EMAIL>" EMAIL="$KORTIX_AGENT_EMAIL_INBOX_FROM_EMAIL"

To use a different mailbox, just swap those values.

Never print credentials.

Send

TMPFILE=$(mktemp) cat > "$TMPFILE" <<EOF From: $FROM To: recipient@example.com Subject: Hello Date: $(date -R) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8

Your message body here. EOF

curl -sS "$SMTP" --user "$USER:$PASS"
--mail-from "$EMAIL"
--mail-rcpt "recipient@example.com"
--upload-file "$TMPFILE"

rm -f "$TMPFILE"

Multiple recipients: add more --mail-rcpt flags. CC: add Cc: header in the file AND a --mail-rcpt per CC address.

List Folders

curl -sS "$IMAP/" --user "$USER:$PASS" | tr -d '\r'

Inbox Count

curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X "EXAMINE INBOX" | tr -d '\r'

  • N EXISTS = total messages.

List Messages

curl -sS "$IMAP/INBOX" --user "$USER:$PASS"
-X "FETCH 1:* (FLAGS BODY.PEEK[HEADER.FIELDS (FROM SUBJECT DATE)])" | tr -d '\r'

Read a Message

curl -sS "$IMAP/INBOX" --user "$USER:$PASS"
-X "FETCH 3 BODY.PEEK[]" | tr -d '\r'

BODY.PEEK[] = read without marking seen. BODY[] = mark as read.

Search

curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X "SEARCH UNSEEN" | tr -d '\r' curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'SEARCH FROM "bob@example.com"' | tr -d '\r' curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'SEARCH SUBJECT "meeting"' | tr -d '\r' curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'SEARCH SINCE 01-Jan-2026' | tr -d '\r' curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'SEARCH UNSEEN FROM "bob"' | tr -d '\r'

Returns * SEARCH 1 4 7 — matching sequence numbers.

Mark Read / Unread

curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'STORE 3 +FLAGS (\Seen)' | tr -d '\r' curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'STORE 3 -FLAGS (\Seen)' | tr -d '\r'

Delete

curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'STORE 3 +FLAGS (\Deleted)' | tr -d '\r' curl -sS "$IMAP/INBOX" --user "$USER:$PASS" -X 'EXPUNGE' | tr -d '\r'

Reply

  • FETCH original to get From , Subject , Message-ID

  • Compose reply with In-Reply-To: and References: set to original Message-ID

  • Prefix subject with Re:

  • Send via SMTP as above

Rules

  • Act, don't ask. Send/read when instructed.

  • Never print credentials.

  • Human language. Say "I sent the email" not "curl smtps://..."

  • Always tr -d '\r' on IMAP output.

  • Identity: when sending from the agent's own inbox, always use the configured FROM_NAME/FROM_EMAIL.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

elevenlabs

No summary provided by upstream source.

Repository SourceNeeds Review
General

presentations

No summary provided by upstream source.

Repository SourceNeeds Review
General

docx

No summary provided by upstream source.

Repository SourceNeeds Review
General

remotion

No summary provided by upstream source.

Repository SourceNeeds Review