Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Himalaya

Himalaya CLI: Email IMAP/SMTP từ terminal.

Siêu dữ liệu kỹ năng

NguồnĐi kèm (được cài đặt theo mặc định)
Đường dẫn

skills/email/himalaya ` | | Phiên bản |

1.1.0 ` | | Tác giả | cộng đồng | | Giấy phép | MIT | | Nền tảng | Linux, macOS, Windows | | Thẻ |

Email

, `IMAP

, `SMTP

, `CLI

, Communication |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Himalaya Email CLI

Himalaya là ứng dụng email CLI cho phép bạn quản lý email từ terminal bằng cách sử dụng chương trình phụ trợ IMAP, SMTP, Notmuch hoặc Sendmail.

Tài liệu tham khảo

references/configuration.md (thiết lập tệp cấu hình + xác thực IMAP/SMTP)

references/message-composition.md (Cú pháp MML soạn email)

Điều kiện tiên quyết

  1. Đã cài đặt Himalaya CLI ( himalaya --version để xác minh)
  2. File cấu hình tại

~/.config/himalaya/config.TOML

  1. Đã định cấu hình thông tin xác thực IMAP/SMTP (mật khẩu được lưu trữ an toàn)

Cài đặt


# Pre-built binary (Linux/macOS — recommended)
curl -SSL https://raw.GitHubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh

# macOS via Homebrew
brew install himalaya

# Or via cargo (any platform with Rust)
cargo install himalaya --locked

`

## Thiết lập cấu hình

Chạy trình hướng dẫn tương tác để thiết lập tài khoản:

``` bash
himalaya account configure

`
``Hoặc tạo

~/.config/himalaya/config.TOML
` theo cách thủ công:

`TOML
[accounts.personal]
email = "you@example.com"
display-name = "Your Name"
default = true`backend.type = "imap"
backend.host = "imap.example.com"
backend.port = 993
backend.encryption.type = "TLS"
backend.login = "you@example.com"
backend.auth.type = "password"
backend.auth.cmd = "pass show email/imap" # or use keyring`message.send.backend.type = "smtp"
message.send.backend.host = "smtp.example.com"
message.send.backend.port = 587
message.send.backend.encryption.type = "start-TLS"
message.send.backend.login = "you@example.com"
message.send.backend.auth.type = "password"
message.send.backend.auth.cmd = "pass show email/smtp"

# Folder aliases (himalaya v1.2.0+ syntax). Required whenever the

# server's folder names don't match himalaya's canonical names
# (inbox/sent/drafts/trash). Gmail is the common case — see
#
`references/configuration.md
` for the

[Gmail]/Sent Mail
` mapping.
folder.aliases.inbox = "INBOX"
folder.aliases.sent = "Sent"
folder.aliases.drafts = "Drafts"
folder.aliases.trash = "Trash"

`
``> **Lưu ý về cú pháp bí danh.** Các tài liệu trước phiên bản 1.2.0 đã sử dụng một
> Tiểu mục

[accounts.NAME.folder.alias]
` (số ít
`alias

).
> v1.2.0 âm thầm bỏ qua biểu mẫu đó — TOML phân tích cú pháp tốt, nhưng
> trình phân giải bí danh không bao giờ đọc nó, vì vậy mọi tra cứu đều rơi vào
> tên kinh điển. Trên Gmail, điều này có nghĩa là lưu vào đã gửi không thành công *sau*
> Phân phối SMTP thành công và
`himalaya message send
` thoát ra khác không.
> Bất kỳ người gọi nào (tổng đài viên, tập lệnh, người dùng) thử lại mã thoát đó
> sẽ chạy lại toàn bộ quá trình gửi — bao gồm cả SMTP — tạo ra bản sao
> gửi email tới người nhận. Luôn sử dụng
`folder.aliases.X
` (số nhiều, chấm
> phím, ngay dưới

[accounts.NAME]

).

## Ghi chú tích hợp Hermes
- **Đọc, liệt kê, tìm kiếm, di chuyển, xóa** tất cả đều hoạt động trực tiếp thông qua công cụ đầu cuối
- **Soạn/trả lời/chuyển tiếp** — đầu vào theo đường ống (
`cat << EOF | himalaya template send

) được khuyến nghị để đảm bảo độ tin cậy. Chế độ

$EDITOR
` tương tác hoạt động với
`pty=true

+ công cụ nền + xử lý, nhưng yêu cầu biết trình chỉnh sửa và các lệnh của nó
- Sử dụng

--output JSON
` cho đầu ra có cấu trúc dễ phân tích cú pháp theo chương trình hơn
- Trình hướng dẫn
`himalaya account configure
` yêu cầu đầu vào tương tác - sử dụng chế độ PTY:
`terminal(command="himalaya account configure", pty=true)

## Hoạt động chung

### Danh sách thư mục

``` bash
himalaya folder list

`

### Liệt kê email

Liệt kê email trong INBOX (mặc định):

`bash
himalaya envelope list

`
``Liệt kê các email trong một thư mục cụ thể:

`bash
himalaya envelope list --folder "Sent"

`
``Danh sách có phân trang:

`bash
himalaya envelope list --page 1 --page-size 20

`

### Tìm kiếm email

`bash
himalaya envelope list from john@example.com subject meeting

`

### Đọc email

Đọc email theo ID (hiển thị văn bản thuần túy):

`bash
himalaya message read 42

`
``Xuất MIME thô:

`bash
himalaya message export 42 --full

`

### Trả lời email

Để trả lời không tương tác từ Hermes, hãy đọc tin nhắn gốc, soạn thư trả lời và gửi nó:

`bash

# Get the reply template, edit it, and send
himalaya template reply 42 | sed 's/^$/\nYour reply text here\n/' | himalaya template send

`
``Hoặc xây dựng câu trả lời theo cách thủ công:

``` bash
cat << 'EOF' | himalaya template send
From: you@example.com
To: sender@example.com
Subject: Re: Original Subject
In-Reply-To: <original-message-id>

Your reply here.
EOF

`
``Trả lời tất cả (tương tác - cần $EDITOR, thay vào đó hãy sử dụng cách tiếp cận mẫu ở trên):

`bash
himalaya message reply 42 --all

`

### Chuyển tiếp email

`bash

# Get forward template and pipe with modifications
himalaya template forward 42 | sed 's/^To:.*/To: newrecipient@example.com/' | himalaya template send

`

### Viết email mới`**Không tương tác (sử dụng tính năng này từ Hermes)** — gửi thông điệp qua stdin:

``` bash
cat << 'EOF' | himalaya template send
From: you@example.com
To: recipient@example.com
Subject: Test Message

Hello from Himalaya!
EOF

`
``Hoặc với cờ tiêu đề:

`bash
himalaya message write -H "To:recipient@example.com" -H "Subject:Test" "Message body here"

`
``Lưu ý:
`himalaya message write
` không có đầu vào đường ống sẽ mở

$EDITOR

. Điều này hoạt động với chế độ nền
`pty=true
` +, nhưng đường ống đơn giản hơn và đáng tin cậy hơn.

### Di chuyển/Sao chép Email

Di chuyển đến thư mục:

`bash
himalaya message move 42 "Archive"

`
``Sao chép vào thư mục:

`bash
himalaya message copy 42 "Important"

`

### Xóa một email

`bash
himalaya message delete 42

`

### Quản lý cờ

Thêm cờ:

`bash
himalaya flag add 42 --flag seen

`
``Xóa cờ:

`bash
himalaya flag remove 42 --flag seen

`

## Nhiều tài khoản

Liệt kê các tài khoản:

`bash
himalaya account list

`
``Sử dụng một tài khoản cụ thể:

`bash
himalaya --account work envelope list

`

## Tệp đính kèm

Lưu phần đính kèm từ tin nhắn:

`bash
himalaya attachment download 42

`
``Lưu vào thư mục cụ thể:

`bash
himalaya attachment download 42 --dir ~/Downloads

`

## Định dạng đầu ra

Hầu hết các lệnh đều hỗ trợ

`
--output
` cho đầu ra có cấu trúc:

``` bash
himalaya envelope list --output JSON
himalaya envelope list --output plain

`

## Gỡ lỗi

Bật ghi nhật ký gỡ lỗi:

`bash
Rust_LOG=debug himalaya envelope list

`
``Dấu vết đầy đủ với dấu vết ngược:

`bash
Rust_LOG=trace Rust_BACKTRACE=1 himalaya envelope list

`

## Mẹo- Sử dụng
`himalaya --help
` hoặc
`himalaya <command --help
` để biết cách sử dụng chi tiết.

- ID tin nhắn có liên quan đến thư mục hiện tại; liệt kê lại sau khi thay đổi thư mục.
- Để soạn email phong phú có tệp đính kèm, hãy sử dụng cú pháp MML (xem
`references/message-composition.md

).
- Lưu trữ mật khẩu một cách an toàn bằng
`pass

, khóa hệ thống hoặc lệnh xuất mật khẩu.