Skip to content

E-mel

Hubungkan ejen Triggerfish anda ke e-mel supaya ia boleh menerima mesej melalui IMAP dan menghantar balasan melalui perkhidmatan relay SMTP. Penyesuai menyokong perkhidmatan seperti SendGrid, Mailgun, dan Amazon SES untuk e-mel keluar, dan mengundi mana-mana pelayan IMAP untuk mesej masuk.

Pengkelasan Lalai

E-mel lalai kepada pengkelasan CONFIDENTIAL. E-mel sering mengandungi kandungan sensitif (kontrak, pemberitahuan akaun, surat-menyurat peribadi), jadi CONFIDENTIAL adalah lalai yang selamat.

Persediaan

Langkah 1: Pilih Relay SMTP

Triggerfish menghantar e-mel keluar melalui API relay SMTP berasaskan HTTP. Perkhidmatan yang disokong termasuk:

PerkhidmatanTitik Akhir API
SendGridhttps://api.sendgrid.com/v3/mail/send
Mailgunhttps://api.mailgun.net/v3/YOUR_DOMAIN/messages
Amazon SEShttps://email.us-east-1.amazonaws.com/v2/email/outbound-emails

Daftar untuk salah satu perkhidmatan ini dan dapatkan kunci API.

Langkah 2: Konfigurasi IMAP untuk Penerimaan

Anda memerlukan kelayakan IMAP untuk menerima e-mel. Kebanyakan pembekal e-mel menyokong IMAP:

PembekalHost IMAPPort
Gmailimap.gmail.com993
Outlookoutlook.office365.com993
Fastmailimap.fastmail.com993
TersuaiPelayan mel anda993

Kata Laluan Aplikasi Gmail Jika anda menggunakan Gmail dengan pengesahan 2 faktor, anda perlu menjana Kata Laluan Aplikasi untuk akses IMAP. Kata laluan Gmail biasa anda tidak akan berfungsi. :::

Langkah 3: Konfigurasi Triggerfish

Tambahkan saluran E-mel ke triggerfish.yaml anda:

yaml
channels:
  email:
    smtpApiUrl: "https://api.sendgrid.com/v3/mail/send"
    imapHost: "imap.gmail.com"
    imapPort: 993
    imapUser: "you@gmail.com"
    fromAddress: "triggerfish@yourdomain.com"
    ownerEmail: "you@gmail.com"

Rahsia (kunci API SMTP, kata laluan IMAP) dimasukkan semasa triggerfish config add-channel email dan disimpan dalam keychain OS.

PilihanJenisDiperlukanKeterangan
smtpApiUrlstringYaURL titik akhir API relay SMTP
imapHoststringYaNama hos pelayan IMAP
imapPortnumberTidakPort pelayan IMAP (lalai: 993)
imapUserstringYaNama pengguna IMAP (biasanya alamat e-mel anda)
fromAddressstringYaAlamat Dari untuk e-mel keluar
pollIntervalnumberTidakSeberapa kerap untuk memeriksa e-mel baru, dalam ms (lalai: 30000)
classificationstringTidakTahap pengkelasan (lalai: CONFIDENTIAL)
ownerEmailstringDisyorkanAlamat e-mel anda untuk pengesahan pemilik

Kelayakan Kunci API SMTP dan kata laluan IMAP disimpan dalam keychain OS (Linux: GNOME Keyring, macOS: Keychain Access). Mereka tidak pernah muncul dalam triggerfish.yaml. :::

Langkah 4: Mulakan Triggerfish

bash
triggerfish stop && triggerfish start

Hantar e-mel ke alamat yang dikonfigurasi untuk mengesahkan sambungan.

Identiti Pemilik

Triggerfish menentukan status pemilik dengan membandingkan alamat e-mel penghantar terhadap ownerEmail yang dikonfigurasi:

  • Sepadan — Mesej adalah arahan pemilik
  • Tidak sepadan — Mesej adalah input luaran dengan taint PUBLIC

Jika tiada ownerEmail dikonfigurasi, semua mesej dilayan sebagai datang dari pemilik.

Pengkelasan Berasaskan Domain

Untuk kawalan yang lebih terperinci, e-mel menyokong pengkelasan penerima berasaskan domain. Ini amat berguna dalam persekitaran enterprise:

  • E-mel dari @yourcompany.com boleh dikelaskan sebagai INTERNAL
  • E-mel dari domain yang tidak diketahui atau luaran lalai kepada EXTERNAL
  • Pentadbir boleh mengkonfigurasi senarai domain dalaman
yaml
channels:
  email:
    # ... konfigurasi lain
    internalDomains:
      - "yourcompany.com"
      - "subsidiary.com"

Ini bermakna enjin dasar menerapkan peraturan yang berbeza berdasarkan asal e-mel:

Domain PenghantarPengkelasan
Domain dalaman yang dikonfigurasiINTERNAL
Domain yang tidak diketahuiEXTERNAL

Cara Ia Berfungsi

Mesej Masuk

Penyesuai mengundi pelayan IMAP pada selang yang dikonfigurasi (lalai: setiap 30 saat) untuk mesej baru yang belum dibaca. Apabila e-mel baru tiba:

  1. Alamat penghantar diekstrak
  2. Status pemilik diperiksa terhadap ownerEmail
  3. Badan e-mel dimajukan ke pengendali mesej
  4. Setiap thread e-mel dipetakan ke ID sesi berdasarkan alamat penghantar (email-sender@example.com)

Mesej Keluar

Apabila ejen membalas, penyesuai menghantar balasan melalui API HTTP relay SMTP yang dikonfigurasi. Balasan merangkumi:

  • DarifromAddress yang dikonfigurasi
  • Kepada — Alamat e-mel penghantar asal
  • Subjek — "Triggerfish" (lalai)
  • Badan — Respons ejen sebagai teks biasa

Selang Undi

Selang undi lalai ialah 30 saat. Anda boleh menyesuaikan ini berdasarkan keperluan anda:

yaml
channels:
  email:
    # ... konfigurasi lain
    pollInterval: 10000 # Semak setiap 10 saat

Seimbangkan Responsif dan Sumber Selang undi yang lebih pendek bermakna respons yang lebih cepat kepada e-mel masuk, tetapi sambungan IMAP yang lebih kerap. Untuk kebanyakan kes penggunaan peribadi, 30 saat adalah keseimbangan yang baik. :::

yaml
channels:
  email:
    # ... konfigurasi lain
    classification: CONFIDENTIAL

Tahap yang sah: PUBLIC, INTERNAL, CONFIDENTIAL, RESTRICTED.