🤖HermesBlog
Hermes Messaging Platforms · Parte 78/9/2026

Email — AI Gửi và Nhận Thư

Email — AI Sends and Receives Mail — easy-to-understand guide based on official docs

messaging-email

Email — AI Gửi và Nhận Thư

Hãy tưởng tượng thế này: bạn gửi một email đến agent AI của mình, và nó trả lời lại — ngay trong chính chuỗi hội thoại đó. Không cần ứng dụng chat cầu kỳ, không cần bot API, không cần phần mềm bổ sung. Chỉ là email thuần túy. Đó chính xác là những gì bộ điều hợp cổng Email (Email gateway adapter) làm cho Hermes.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách thiết lập, cách nó hoạt động bên trong, và cách giữ hộp thư của bạn an toàn.

Tại sao lại là Email?

Email mang tính phổ quát. Ai cũng có một địa chỉ email. Bằng cách kết nối Hermes vào hộp thư của bạn qua IMAP chuẩn (để nhận) và SMTP (để gửi), bạn có một AI hội thoại hoạt động được với Gmail, Outlook, Yahoo, Fastmail, hoặc bất kỳ nhà cung cấp nào hỗ trợ các giao thức này.

Và phần tuyệt nhất: không có bất kỳ phụ thuộc bên ngoài nào. Bộ điều hợp sử dụng các module imaplib, smtplibemail có sẵn trong Python. Không cần gói bổ sung, không cần dịch vụ bên thứ ba.

Lưu ý: Điều này khác với kỹ năng email Himalaya đi kèm, cho phép agent quản lý hộp thư của bạn qua lệnh terminal. Kỹ năng đó yêu cầu CLI himalaya bên ngoài. Bộ điều hợp cổng này là cách đơn giản và khép kín hơn.

Trước Khi Bắt Đầu

Bạn cần ba thứ:

  1. Một tài khoản email riêng cho agent của bạn (xin đừng dùng hộp thư cá nhân)
  2. Bật IMAP trên tài khoản đó
  3. Mật khẩu ứng dụng (app password) nếu bạn dùng Gmail hoặc bất kỳ nhà cung cấp nào có xác thực hai yếu tố

Với Gmail: bật 2FA, sau đó tạo Mật khẩu ứng dụng tại myaccount.google.com/apppasswords. Bạn sẽ nhận được mật khẩu 16 ký tự — hãy dùng mật khẩu đó thay vì mật khẩu thông thường.

Với Outlook/Microsoft 365: bật 2FA, tạo mật khẩu ứng dụng trong mục “Additional security options,” và dùng outlook.office365.com cho IMAP và smtp.office365.com cho SMTP.

Với các nhà cung cấp khác, hãy kiểm tra tài liệu của họ về host và cổng IMAP/SMTP (thường là 993 cho IMAP SSL, 587 cho SMTP STARTTLS).

Bước 1: Cấu Hình Hermes

Cách dễ nhất là dùng trình hướng dẫn thiết lập:

hermes gateway setup

Chọn Email từ menu và làm theo hướng dẫn. Nó sẽ hỏi địa chỉ, mật khẩu ứng dụng, host IMAP/SMTP, và danh sách người gửi được phép.

Thích cấu hình thủ công? Thêm phần này vào ~/.hermes/.env:

# Bắt buộc
EMAIL_ADDRESS=hermes@gmail.com
EMAIL_PASSWORD=abcd efgh ijkl mnop    # Mật khẩu ứng dụng, không phải mật khẩu thường
EMAIL_IMAP_HOST=imap.gmail.com
EMAIL_SMTP_HOST=smtp.gmail.com

# Bảo mật (khuyến nghị)
EMAIL_ALLOWED_USERS=your@email.com,colleague@work.com

# Tùy chọn
EMAIL_IMAP_PORT=993                    # Mặc định: 993
EMAIL_SMTP_PORT=587                    # Mặc định: 587
EMAIL_POLL_INTERVAL=15                 # Giây giữa các lần kiểm tra hộp thư
EMAIL_HOME_ADDRESS=your@email.com      # Địa chỉ nhận mặc định cho các tác vụ cron

Bước 2: Khởi Động Gateway

hermes gateway              # Chạy ở tiền cảnh
hermes gateway install      # Cài đặt như một dịch vụ người dùng
sudo hermes gateway install --system   # Linux: dịch vụ hệ thống khởi động cùng máy

Khi khởi động, bộ điều hợp kiểm tra cả kết nối IMAP và SMTP, đánh dấu tất cả email hiện có trong hộp thư là “đã đọc” (để chỉ xử lý email mới), và bắt đầu kiểm tra định kỳ.

Cách Nó Hoạt Động

Nhận tin nhắn. Bộ điều hợp kiểm tra các email CHƯA ĐỌC mỗi 15 giây theo mặc định. Với mỗi tin nhắn mới:

  • Dòng tiêu đề được đưa vào làm ngữ cảnh (ví dụ: [Subject: Deploy to production])
  • Các thư trả lời (tiêu đề bắt đầu bằng Re:) bỏ qua tiền tố tiêu đề — ngữ cảnh chuỗi hội thoại đã có sẵn
  • Tệp đính kèm được lưu vào bộ nhớ đệm cục bộ: hình ảnh có sẵn cho công cụ thị giác, tài liệu như PDF và ZIP để truy cập tệp
  • Email chỉ có HTML được loại bỏ thẻ để trích xuất văn bản thuần
  • Tin nhắn tự gửi được lọc ra để tránh vòng lặp trả lời
  • Người gửi tự động bị bỏ qua âm thầm — noreply@, mailer-daemon@, bounce@, và các email có header Auto-Submitted, Precedence: bulk, hoặc List-Unsubscribe

Gửi trả lời. Thư trả lời được gửi qua SMTP với cấu trúc chuỗi hội thoại phù hợp: header In-Reply-ToReferences giữ cuộc trò chuyện liền mạch, tiêu đề giữ tiền tố Re: (không bị lặp Re: Re:), và phản hồi được gửi dưới dạng văn bản UTF-8 thuần.

Tệp đính kèm. Muốn agent gửi lại một tệp? Chỉ cần thêm MEDIA:/đường/dẫn/đến/tệp vào phản hồi của nó và tệp sẽ được đính kèm tự động.

Bỏ qua tệp đính kèm. Lo lắng về phần mềm độc hại hoặc băng thông? Thêm phần này vào config.yaml:

platforms:
  email:
    skip_attachments: true

Nội dung văn bản email vẫn được xử lý bình thường — chỉ có tệp đính kèm bị bỏ qua.

Kiểm Soát Truy Cập: Mặc Định Nghiêm Ngặt

Email được khóa chặt hơn các nền tảng chat theo thiết kế:

  1. EMAIL_ALLOWED_USERS → chỉ email từ những địa chỉ đó mới được xử lý
  2. Không có danh sách cho phép → người gửi lạ bị bỏ qua âm thầm
  3. EMAIL_ALLOW_ALL_USERS=true → chấp nhận mọi người gửi (hãy cẩn thận!)
  4. platforms.email.unauthorized_dm_behavior: pair → người gửi lạ nhận được mã ghép cặp

Nguyên tắc vàng: dùng một hộp thư riêng và luôn cấu hình EMAIL_ALLOWED_USERS. Ghép cặp qua email là tùy chọn vì hộp thư dùng chung thường chứa nhiều tin nhắn chưa đọc không liên quan — Hermes không nên trả lời những liên hệ đó theo mặc định.

Xử Lý Sự Cố

Vấn đề Giải pháp
“IMAP connection failed” khi khởi động Kiểm tra EMAIL_IMAP_HOSTEMAIL_IMAP_PORT. Đảm bảo IMAP được bật trên tài khoản (Gmail: Cài đặt → Chuyển tiếp và POP/IMAP)

Tổng Kết

Bộ điều hợp cổng Email biến bất kỳ hộp thư chuẩn nào thành kênh giao tiếp cho agent AI của bạn. Không phụ thuộc bên ngoài, không cần ứng dụng đặc biệt — chỉ cần IMAP, SMTP và một chút cấu hình. Hãy thiết lập một tài khoản riêng, khóa chặt danh sách người gửi được phép, và để email tự do lưu chuyển.

Chúc bạn gửi email vui vẻ! 📧

📖 Tài liệu chính thức

この記事は Hermes Agent のTài liệu chính thứcに基づいています:Tài liệu chính thức › user-guide/messaging/email