OpenTrashmail: Sistem Email Sementara Mandiri dengan Fitur Lengkap

OpenTrashmail: Sistem Email Sementara Mandiri dengan Fitur Lengkap

By Reggi, 18 Jul 2026

Mencari solusi email sementara yang bisa Anda kelola sendiri? OpenTrashmail - Temporary Email System adalah jawabannya. Ini adalah sistem email self-hosted yang memungkinkan Anda menerima email melalui antarmuka web, API JSON, RSS feed, atau bahkan webhook kustom. Semua ini berjalan tanpa memerlukan database, karena sistem ini 100% berbasis file.

Apa Itu OpenTrashmail?

OpenTrashmail beroperasi sebagai mail server bertenaga Python yang siap digunakan untuk domain apa pun yang Anda atur. Anda tidak perlu membuat alamat email terlebih dahulu, sebab sistem ini akan menangkap email yang masuk ke alamat valid mana pun yang ditujukan ke server Anda. Ini menjadikannya alat yang sangat fleksibel untuk berbagai kebutuhan, mulai dari menguji aplikasi hingga secara terprogram menyelesaikan verifikasi email 2FA.

Fitur Utama yang Ditawarkan

Sistem ini hadir dengan segudang fitur yang mendukung fleksibilitas dan otomatisasi:

  • Server Email Berbasis Python: Bekerja langsung untuk domain apa pun.
  • RSS Feed: Setiap alamat email memiliki feed RSS-nya sendiri untuk menerima pembaruan email.
  • JSON API: Memungkinkan integrasi ke proyek Anda, sangat berguna untuk mengotomatiskan email 2FA.
  • Webhooks Kustom: Konfigurasi per email dengan payload JSON yang dapat disesuaikan.
  • Penanganan Lampiran: Mampu menerima dan mengelola lampiran email.
  • Dukungan TLS: Mendukung Plaintext, STARTTLS, dan TLS on Connect untuk koneksi email yang aman.
  • Antarmuka Web: Antarmuka yang intuitif dengan dark/light mode otomatis, opsi untuk mengunduh lampiran, menghapus email, dan membuat alamat email acak.
  • Administrasi: Admin dapat melihat log server dan daftar semua akun email yang ada.
  • Tanpa Database: Seluruh data disimpan dalam file, mengurangi kompleksitas dan kebutuhan infrastruktur.
  • Mode Honeypot: Dapat digunakan sebagai honeypot email atau untuk menyelesaikan email 2FA secara terprogram.

Integrasi dan Otomasi Lewat API

OpenTrashmail tidak hanya menyediakan antarmuka web yang rapi, tetapi juga API yang kuat untuk integrasi yang lebih dalam. Anda bisa mengambil email mentah, lampiran, atau daftar email yang diterima dalam format JSON.

Berikut adalah beberapa endpoint API penting:

EndpointPenjelasan
/rss/[email-address]Mengirimkan RSS XML untuk klien RSS.
/api/raw/[email-address]/[id]Mengembalikan email mentah berdasarkan ID.
/api/attachment/[email-address]/[id]Mengembalikan lampiran dengan mime type yang benar.
/api/delete/[email-address]/[id]Menghapus pesan email tertentu dan lampirannya.
/api/deleteaccount/[email-address]Menghapus semua pesan dan lampiran dari akun email ini.
/json/[email-address]Mengembalikan array email yang diterima dengan tautan lampiran dan badan email yang telah diparsing. Jika email admin, akan mengembalikan semua email dari semua akun.
/json/[email-address]/[id]Mengembalikan semua data dari email yang diterima, termasuk badan email mentah dan HTML.
/json/listaccountsJika SHOW_ACCOUNT_LIST diatur ke true, endpoint ini akan mengembalikan array dari semua alamat email yang telah menerima setidaknya satu email.
/api/webhook/get/[email-address]Mengambil konfigurasi webhook untuk alamat email.
/api/webhook/save/[email-address]Menyimpan konfigurasi webhook untuk alamat email.
/api/webhook/delete/[email-address]Menghapus konfigurasi webhook untuk alamat email.

Konfigurasi dan Keamanan

OpenTrashmail dapat dikonfigurasi melalui file config.ini atau variabel lingkungan Docker. Beberapa opsi penting meliputi:

  • URL: URL tempat GUI akan di-host.
  • DOMAINS: Daftar domain yang dipisahkan koma tempat server mail akan menerima email.
  • MAILPORT: Port tempat server SMTP akan mendengarkan (default: 25).
  • ADMIN: Alamat email yang berfungsi sebagai catch-all untuk melihat semua email dari semua akun.
  • PASSWORD: Jika dikonfigurasi, situs dan API hanya dapat digunakan dengan kata sandi.
  • ALLOWED_IPS: Daftar alamat IP CIDR yang diizinkan untuk menggunakan UI web atau API.
  • ATTACHMENTS_MAX_SIZE: Ukuran maksimum untuk setiap lampiran email (dalam byte).
  • TLS_CERTIFICATE dan TLS_PRIVATE_KEY: Jalur ke sertifikat dan private key untuk mendukung TLS.

Sejak versi 1.3.0, OpenTrashmail mendukung TLS dan STARTTLS. Anda memerlukan sertifikat yang sesuai dengan hostname server SMTP Anda untuk fitur ini berfungsi. Untuk lingkungan pengujian, Anda bisa membuat sertifikat sementara menggunakan openssl.

Cara Kerja dan Mulai Cepat dengan Docker

Inti dari OpenTrashmail adalah server SMTP bertenaga Python yang mendengarkan email masuk dan menyimpannya sebagai file JSON. Server ini dirancang untuk "menangkap" semua email yang diterimanya, tanpa harus mengetahui domain email yang benar. Anda hanya perlu mengekspos port 25 ke web dan mengatur MX record domain Anda agar menunjuk ke alamat IP server OpenTrashmail.

Berikut adalah contoh menjalankan OpenTrashmail menggunakan Docker, lengkap dengan persistensi data, konfigurasi domain, pemformatan tanggal, pembuangan email tidak dikenal, dan pembersihan email lama:

bash
docker run -d --restart=unless-stopped --name opentrashmail \ -e "DOMAINS=mydomain.eu" \ -e "DATEFORMAT='D.M.YYYY HH:mm'" \ -e "DISCARD_UNKNOWN=false" \ -e "DELETE_OLDER_THAN_DAYS=90" \ -p 80:80 -p 25:25 \ -v /path/on/host/where/to/save/data:/var/www/opentrashmail/data \ hascheksolutions/opentrashmail:1

Perintah ini akan menjalankan kontainer Docker di latar belakang, memulainya ulang secara otomatis jika berhenti, mengonfigurasi domain, format tanggal, dan membersihkan email yang lebih lama dari 90 hari, sambil menyimpan data di host Anda.

Webhooks untuk Otomatisasi Maksimal

Fitur webhook di OpenTrashmail sangat kuat, mendukung konfigurasi global dan per-email. Ini memungkinkan Anda mengirim data email yang diterima ke URL kustom Anda.

Fitur Webhook:

  • URL Endpoint Kustom: Atur URL berbeda untuk setiap alamat email.
  • Payload JSON yang Dapat Disesuaikan: Gunakan template placeholder seperti {{to}}, {{from}}, {{subject}}, {{body}}, {{attachments}} untuk membentuk data yang dikirim.
  • Percobaan Ulang Otomatis: Hingga 10 kali percobaan ulang dengan exponential backoff jika request awal gagal.
  • Tanda Tangan HMAC-SHA256: Untuk keamanan, setiap request webhook dapat menyertakan tanda tangan untuk verifikasi integritas data.

Untuk mengonfigurasi webhook melalui API, Anda dapat menggunakan perintah curl seperti ini:

bash
curl -X POST http://localhost:8080/api/webhook/save/test@example.com \ -d "enabled=true" \ -d "webhook_url=https://myapi.com/webhook" \ -d 'payload_template={"email":"{{to}}","subject":"{{subject}}"}' \ -d "max_attempts=5" \ -d "secret_key=your-secret-key"

Ketika secret key dikonfigurasi, OpenTrashmail akan menyertakan header X-Webhook-Signature dengan setiap request, yang berisi tanda tangan HMAC-SHA256 dari badan request. Anda dapat menggunakan ini di sisi server Anda untuk memverifikasi keaslian request.

OpenTrashmail adalah alat yang tangguh dan fleksibel untuk kebutuhan email sementara Anda. Dengan dukungan untuk self-hosting, beragam API, dan integrasi webhook, sistem ini menawarkan kontrol penuh atas aliran email Anda.

Referensi

https://github.com/HaschekSolutions/opentrashmail


🔥 Sedang Ramai Dibaca