{"id":35886848,"url":"https://github.com/yynet2022/mailorca","last_synced_at":"2026-01-08T21:03:16.993Z","repository":{"id":331310850,"uuid":"1125626069","full_name":"yynet2022/mailorca","owner":"yynet2022","description":"A lightweight SMTP server and web interface for development (Django, etc.) / 開発環境（Django等）向けの軽量SMTPサーバー兼Webインターフェースツール","archived":false,"fork":false,"pushed_at":"2026-01-04T02:26:29.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-06T03:00:22.552Z","etag":null,"topics":["development-tools","django","email-testing","fastapi","flask","mailhog-alternative","python","smtp-server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yynet2022.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-31T04:11:27.000Z","updated_at":"2026-01-04T02:26:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yynet2022/mailorca","commit_stats":null,"previous_names":["yynet2022/mailorca"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/yynet2022/mailorca","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yynet2022%2Fmailorca","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yynet2022%2Fmailorca/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yynet2022%2Fmailorca/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yynet2022%2Fmailorca/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yynet2022","download_url":"https://codeload.github.com/yynet2022/mailorca/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yynet2022%2Fmailorca/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28248942,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-08T02:00:06.591Z","response_time":241,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["development-tools","django","email-testing","fastapi","flask","mailhog-alternative","python","smtp-server"],"created_at":"2026-01-08T21:01:58.919Z","updated_at":"2026-01-08T21:03:16.988Z","avatar_url":"https://github.com/yynet2022.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MailOrca 🐋\n\nMailOrca is a lightweight SMTP server and Web interface tool designed for development environments.\nIt was created for developers who want to complete tasks like MailHog using only the Python ecosystem.\nIt is perfect for testing email sending locally when developing Web applications such as Django or Flask.\n\n## Features\n\n*   **Python Native**: Works with Python 3.9+ only. It can be introduced with just `pip` in environments without Go or Docker.\n*   **Web UI**: You can instantly check received emails in your browser. Switching between HTML/Text parts and downloading raw `.eml` files is also possible.\n*   **Simple SMTP Server**: An asynchronous SMTP server based on `aiosmtpd` receives emails from your application.\n*   **Configurable**: Port numbers and display items can be flexibly configured via `config.json`.\n*   **REST API**: A JSON API is also provided for accessing email data.\n\n## Requirements\n\n*   Python 3.9 or higher\n\n## Installation\n\n1.  Clone the repository.\n    ```bash\n    git clone https://github.com/yynet2022/mailorca.git\n    cd mailorca\n    ```\n\n2.  Install dependencies.\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n## Usage\n\n### Startup\n\nStart the server with the following command:\n\n```bash\npython runserver.py\n```\n\nYou can also override settings with command-line arguments or environment variables.\n\n```bash\n# Show help\npython runserver.py --help\n\n# Example starting with changed port numbers\npython runserver.py --smtp-port 2025 --http-port 8080\n\n# Start with detailed logging (-v 1: INFO, -v 2: DEBUG)\npython runserver.py -v 2\n```\n\n#### Configuration via Environment Variables\n\nIt is also possible to configure using environment variables instead of arguments (using the prefix `MAILORCA_`).\n\n*   `MAILORCA_SMTP_PORT=2025`\n*   `MAILORCA_HTTP_PORT=8080`\n\nBy default, it listens on the following ports:\n\n*   **SMTP Server**: `127.0.0.1:1025`\n    *   Set your application's email sending configuration (Host/Port) to this.\n*   **Web UI**: `http://127.0.0.1:8025`\n    *   Access via browser to check received emails.\n\n### Configuration\n\nYou can change settings by editing `config.json`.\n\n```json\n{\n  \"smtp\": {\n    \"host\": \"127.0.0.1\",\n    \"port\": 1025\n  },\n  \"http\": {\n    \"host\": \"127.0.0.1\",\n    \"port\": 8025\n  },\n  \"max_history\": 100,\n  \"ui\": {\n    \"list_columns\": [\"Date\", \"Subject\", \"To\", \"From\"],\n    \"detail_headers\": [\"From\", \"To\", \"Cc\", \"Subject\", \"Date\", \"Message-ID\"]\n  }\n}\n```\n\n*   `smtp`, `http`: Specify host and port. Specify `\"0.0.0.0\"` to allow access from outside.\n*   `max_history`: Maximum number of emails to keep in memory. Older emails are deleted when this limit is exceeded.\n*   `ui`: You can customize header items displayed in the Web UI list and detail screens.\n\n## License\n\nThis software is released under the [MIT License](LICENSE).\n\n---\n\n# MailOrca 🐋 (日本語)\n\nMailOrca は、開発環境向けの軽量な SMTP サーバー兼 Web インターフェースツールです。\nMailHog のようなツールを Python エコシステムだけで完結させたい開発者のために作られました。\nDjango や Flask などの Web アプリケーション開発時に、ローカルでメール送信テストを行うのに最適です。\n\n## 特徴\n\n*   **Python Native**: Python 3.9+ だけで動作します。Go や Docker がない環境でも `pip` だけで導入可能です。\n*   **Web UI**: 受信したメールをブラウザで即座に確認できます。HTML/Text パートの切り替えや、生の `.eml` ダウンロードも可能です。\n*   **Simple SMTP Server**: `aiosmtpd` をベースにした非同期 SMTP サーバーが、アプリケーションからのメールを受け取ります。\n*   **Configurable**: ポート番号や表示項目は `config.json` で柔軟に設定可能です。\n*   **REST API**: メールデータにアクセスするための JSON API も提供しています。\n\n## 動作要件\n\n*   Python 3.9 以上\n\n## インストール\n\n1.  リポジトリをクローンします。\n    ```bash\n    git clone https://github.com/yynet2022/mailorca.git\n    cd mailorca\n    ```\n\n2.  依存パッケージをインストールします。\n    ```bash\n    pip install -r requirements.txt\n    ```\n\n## 使い方\n\n### 起動\n\n以下のコマンドでサーバーを起動します。\n\n```bash\npython runserver.py\n```\n\nコマンドライン引数や環境変数で設定を上書きすることも可能です。\n\n```bash\n# ヘルプを表示\npython runserver.py --help\n\n# ポート番号を変更して起動する例\npython runserver.py --smtp-port 2025 --http-port 8080\n\n# 詳細なログを出力して起動 (-v 1: INFO, -v 2: DEBUG)\npython runserver.py -v 2\n```\n\n#### 環境変数による設定\n\n引数の代わりに環境変数で設定することも可能です（プレフィックス `MAILORCA_` を使用）。\n\n*   `MAILORCA_SMTP_PORT=2025`\n*   `MAILORCA_HTTP_PORT=8080`\n\nデフォルトでは以下のポートで待機します。\n\n*   **SMTP Server**: `127.0.0.1:1025`\n    *   開発中のアプリケーションのメール送信設定（Host/Port）をここに合わせます。\n*   **Web UI**: `http://127.0.0.1:8025`\n    *   ブラウザでアクセスして受信メールを確認します。\n\n### 設定\n\n`config.json` を編集することで設定を変更できます。\n\n```json\n{\n  \"smtp\": {\n    \"host\": \"127.0.0.1\",\n    \"port\": 1025\n  },\n  \"http\": {\n    \"host\": \"127.0.0.1\",\n    \"port\": 8025\n  },\n  \"max_history\": 100,\n  \"ui\": {\n    \"list_columns\": [\"Date\", \"Subject\", \"To\", \"From\"],\n    \"detail_headers\": [\"From\", \"To\", \"Cc\", \"Subject\", \"Date\", \"Message-ID\"]\n  }\n}\n```\n\n*   `smtp`, `http`: ホストとポートを指定します。外部からアクセスさせる場合は `\"0.0.0.0\"` を指定してください。\n*   `max_history`: メモリ上に保持するメールの最大件数です。これを超えると古いものから削除されます。\n*   `ui`: Web UI の一覧や詳細画面に表示するヘッダー項目をカスタマイズできます。\n\n## ライセンス\n\n本ソフトウェアは [MIT License](LICENSE) の下で公開されています。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyynet2022%2Fmailorca","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyynet2022%2Fmailorca","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyynet2022%2Fmailorca/lists"}