trashmail
ソリューション - Web UI
、 JSON API
、 RSS feed
、 Webhook
を介してメールを受信しますRSS feed
JSON API
、独自のプロジェクトに統合しています。 2FAメールの自動化に使用できますWebhook
TLS on connect
Plaintext
、 STARTTLS
、TLSをサポートします終点 | 説明 | 出力の例 |
---|---|---|
/ rss/ [email-address] | RSSクライアント向けのRSS XMLをレンダリングして、電子メールをレンダリングします | |
/api/raw/ [email-address]/[id] | アドレスの生の電子メールを返します。警告:出力は電子メール自体と同じくらい大きくなる可能性があるため、大きな添付ファイル付きのメールでは最大20MBまであります | |
/API/添付ファイル[email-address]/[attachment-id] | ヘッダーとして正しいmimeタイプで添付ファイルを返します | |
/api/delete/ [email-address]/[id] | 特定の電子メールメッセージとその添付ファイルを削除します | |
/api/deleteaccount/ [email-address] | このメールアカウントのすべてのメッセージと添付ファイルを削除します |
終点 | 説明 | 出力の例 |
---|---|---|
/ json/ [email-address] | 添付ファイルへのリンクと、電子メールの解析されたテキストベースの本文を含む一連の受信したメールを返します。 ADMIN 電子メールが入力された場合、すべてのアカウントのすべてのメールを返します | |
/json/ [email-address]/[id] | 受信したメールのすべてのデータを表示するには、前の電話からIDを取り、これを投票して、電子メールの生およびHTML本文を取得します。体はbase64のすべての添付ファイルを含めることができるので、巨大になる可能性があります | |
/json/listAccounts | SHOW_ACCOUNT_LIST config.iniでtrueに設定されている場合、このエンドポイントは少なくとも1つの電子メールを受信したすべてのメールアドレスの配列を返します |
config.ini
を編集するだけで、次の設定を使用できます
URL
> GUIがホストされるURL。テールスラッシュはありません!例:https://trashmail.mydomain.euDOMAINS
- >コンマ分離ドメインのリストこのメールサーバーは、電子メールを受信します。 Webインターフェイスがランダムアドレスを生成できるようにMAILPORT
>ポートPython搭載のSMTPサーバーがリッスンします。 Default: 25
ADMIN
>メールアドレス(存在する必要はなく、有効である必要はありません)は、サーバーが受信したすべてのアドレスのすべての電子メールをリストします。キャッチオールのようなものDATEFORMAT
> Webインターフェイスにタイムスタンプを表示する方法(empon.js構文)PASSWORD
- >構成の場合、サイトとAPIは、フォーム、POST/GET変数password
またはHTTPヘッダーPWD
を介して提供せずに使用できません(例: curl -H "PWD: 123456" http://localhost:8080/json...
)ALLOWED_IPS
> comma web UIまたはAPIを使用することが許可されているIPv4またはIPv6 CIDRアドレスの分離リストATTACHMENTS_MAX_SIZE
>バイトで電子メールの個々の添付ファイルごとの最大サイズMAILPORT_TLS
> 0より高いものに設定されている場合、このポートはTLSC(Connect On ConnectのTLS)に使用されます。つまり、プレーンテキスト認証は不可能です。通常、 465
に設定されています。 TLS_CERTIFICATE
とTLS_PRIVATE_KEY
が機能する必要がありますTLS_CERTIFICATE
>証明書(チェーン)へのパス。 /pythonディレクトリまたは絶対に関連する場合がありますTLS_PRIVATE_KEY
>証明書の秘密鍵へのパス。 /pythonディレクトリまたは絶対に関連する場合がありますWEBHOOK_URL
>設定されている場合、電子メールのJSONデータをボディとしてこのURLに投稿リクエストを送信します。あなた自身のプロジェクトにOpentrashmailを統合するために使用できますADMIN_ENABLED
> adminメニューを有効にします。デフォルトのfalse
ADMIN_PASSWORD
>設定されている場合は、管理メニューにアクセスするためにこのパスワードが必要ですDockerでは、次の環境変数を使用できます。
env var | それがすること | 値の例 |
---|---|---|
URL | WebインターフェイスのURL。 APIおよびRSSフィードで使用されます | http:// localhost:8080 |
docard_unknown | MailServerに、構成されていないドメインにアドレス指定された電子メールを削除するか削除しないように指示します | 本当、偽 |
ドメイン | サーバーが聴くホワイトリストのドメイン。 disdard_unknownがfalseに設定されている場合、これはWebinterfaceでランダム電子メールを生成するためにのみ使用されます | |
show_account_list | true に設定されている場合、以前に電子メールを受信したすべてのアカウントは、APIまたはWebinterfaceを介してリストすることができます | 本当、偽 |
管理者 | 有効な電子メールアドレスに設定し、このアドレスがAPIまたはWebインターフェイスに入力されている場合、すべてのアカウントのすべてのメールが表示されます。キャッチオブオール | [email protected] |
dateformat | emment.js構文に基づいて、受信日はWebインターフェイスでフォーマットします | 「うーん、yyyy、h:mm:ss a」 |
SKIP_FILEPERMISSIONS | true に設定した場合、コンテナ内のコードデータフォルダーのファイル権限を修正しません。ローカル開発に役立ちます。デフォルトのfalse | 本当、偽 |
パスワード | 構成されている場合、サイトとAPIはPWD フォームを介して提供せずに使用できませんpassword | yousrstrongpassword |
Aldoct_ips | Web UIまたはAPIの使用が許可されているIPv4またはIPv6 CIDRアドレスのコンマ分離リスト | 192.168.5.0/24,2a02:ab:cd:ef::/60,172.16.0.0/16 |
Attachments_max_size | 電子メールの個々の添付ファイルごとの最大サイズバイトで | 2000000 = 2MB |
mailport_tls | 0より高いものに設定すると、このポートはTLSCに使用されます(接続のTLS)。つまり、プレーンテキスト認証は不可能です。通常、 465 に設定されています。 TLS_CERTIFICATE とTLS_PRIVATE_KEY が機能する必要があります | 465 |
tls_certificate | 証明書(チェーン)へのパス。 /pythonディレクトリまたは絶対に関連する場合があります | /certs/cert.pem またはcert.pem pythonディレクトリ内にある場合 |
tls_private_key | 証明書の秘密鍵へのパス。 /pythonディレクトリまたは絶対に関連する場合があります | /certs/privkey.pem またはkey.pem それがpythonディレクトリ内にある場合 |
webhook_url | 設定されている場合、電子メールのJSONデータをボディとして使用して、このURLにPOSTリクエストを送信します。あなた自身のプロジェクトにOpentrashmailを統合するために使用できます | https://example.com/webhook |
admin_enabled | 管理メニューを有効にします。デフォルトのfalse | false / true |
admin_password | 設定されている場合は、管理メニューにアクセスするためにこのパスワードが必要です | 123456 |
v1.3.0 TLSおよびstartTLSはOpentrashmailによってサポートされているためです。
電子メールでTLSを使用する2つの方法があることに注意してください
StartTLSは、サーバーが「startTLS」コマンド(証明書とキー設定が設定されている場合に自動的に行う)を宣伝する場合、プレーンテキストとして開始し、TLSにアップグレードするため、特定のポートを必要としません。デフォルトのMAILPORT
で実行されているため、他のポートを開く必要はありません。
TLS on Connectは露出したポートの周りにTLをラッピングしているため、Plantextでそれと話すことはできないため、動作するには別のポートが必要です。通常、これにはポート465が使用されます。
TLSが機能するには、最初にSMTPサーバーのホスト名に対応する証明書が必要です。これは、Lets'encryptを使用して実行でき、WildCard証明書でも機能します。
環境をテストするには、Pythonフォルダー内から次のコマンドを実行して証明書を作成できます。
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes -subj ' /CN=localhost '
次に、 MAILPORT_TLS
の設定を設定する必要があります(starttlsのみをサポートする場合は必要ありません)、 TLS_CERTIFICATE
、 TLS_PRIVATE_KEY
。
/docs/dev.mdファイルには、TLSとTLSC接続のデバッグとテスト方法に関するいくつかのヒントが含まれています。それは、すべてのパッケージマネージャーで十分に適切なものでなければならないツールスswaks
を使用します。
DNSパネルに、OpentrashmailをホストするサーバーのIPを指すドメインのMXレコードを作成します。
次の例では、example.comにメールを送信できます
mail.example.com. IN A 93.184.216.34
example.com. 14400 IN MX 10 mail.example.com.
この高度な例では、ワイルドカードドメインを使用できます。
mail.example.com. IN A 93.184.216.34
*.example.com. 14400 IN MX 10 mail.example.com.
これは、構成オプション「ドメイン」(docker parameter -e DOMAINS="*.example.com"
)と組み合わせて、example.com(例:[email protected]、任意のアドレスを使用できます。 [email protected]など..)
永続性なしで簡単な開始
docker run -it -p 25:25 -p 80:80 -e URL= " https://localhost:80 " hascheksolutions/opentrashmail:1
ホストマシンにデータディレクトリを保存します
docker run -p 80:80 -p 25:25 -e URL= " https://localhost:80 " -v /path/on/host/where/to/save/data:/var/www/opentrashmail/data hascheksolutions/opentrashmail:1
デーモン、永続性、電子メールの自動生成のドメインとしての実行の完全な例、構成されたドメインの電子メールのみ、90日以上のメールのクリーンアップ、自動再起動
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
Heart of Open Trashmailは、着信電子メールを聴き、JSONファイルとして保存するPython駆動のSMTPサーバーです。サーバーは、適切な電子メールドメインを知る必要はありません。受信するすべてをキャッチするだけです。ポート25をWebに公開し、マシンのIPアドレスを指すドメインのMXレコードを設定するだけです。