mirror of
https://github.com/rustmailer/bichon.git
synced 2026-08-03 07:48:34 +02:00
update
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# Contributor License Agreement
|
||||
|
||||
Thank you for contributing to Bichon ("the Project"), maintained by rustmailer ("the Maintainer").
|
||||
|
||||
This Agreement clarifies the intellectual property rights granted by You to the Maintainer when You submit a Contribution. By signing this Agreement, You accept and agree to the following terms.
|
||||
|
||||
## 1. Definitions
|
||||
|
||||
- **"You"** means the individual or legal entity (corporation, organization, etc.) on whose behalf the Contribution is submitted.
|
||||
- **"Contribution"** means any original work of authorship, including modifications or additions to existing work, that You intentionally submit to the Project (via Pull Request, patch, email, or any other means).
|
||||
|
||||
## 2. Copyright License
|
||||
|
||||
You grant the Maintainer a **perpetual, worldwide, non-exclusive, royalty-free, irrevocable** copyright license to:
|
||||
|
||||
- Reproduce, modify, adapt, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Your Contribution and any derivative works thereof.
|
||||
- **Re-license** Your Contribution under different terms, including but not limited to proprietary or commercial licenses, in any medium now known or later developed.
|
||||
|
||||
This license survives termination of this Agreement and continues even if You stop contributing.
|
||||
|
||||
## 3. Patent License
|
||||
|
||||
You grant the Maintainer a **perpetual, worldwide, non-exclusive, royalty-free, irrevocable** patent license to make, have made, use, sell, offer for sale, import, and otherwise transfer Your Contribution, where such license applies only to patent claims licensable by You that are necessarily infringed by Your Contribution alone or in combination with the Project.
|
||||
|
||||
## 4. Moral Rights
|
||||
|
||||
To the fullest extent permitted by applicable law, You waive, and agree not to assert, any moral rights (including rights of attribution, integrity, or withdrawal) in Your Contribution against the Maintainer or the Maintainer's licensees. If under Your jurisdiction moral rights cannot be waived, You agree not to enforce them against the Maintainer.
|
||||
|
||||
## 5. Employer / Entity Disclaimer
|
||||
|
||||
If You are employed by or acting on behalf of an entity, You represent that:
|
||||
|
||||
- You have received permission from Your employer or entity to submit the Contribution under the terms of this Agreement.
|
||||
- Your employer or entity has waived any rights to the Contribution.
|
||||
|
||||
If Your employer or entity has not provided such permission, You must not submit a Contribution.
|
||||
|
||||
## 6. Representations
|
||||
|
||||
You represent and warrant that:
|
||||
|
||||
- You are legally entitled to make the Contribution and grant the licenses under this Agreement.
|
||||
- Your Contribution is Your original work, and You have the necessary rights from any third parties whose material is included.
|
||||
- You are not aware of any claims, pending litigation, or other issues that would affect the rights granted under this Agreement.
|
||||
|
||||
## 7. No Obligation
|
||||
|
||||
The Maintainer is under no obligation to accept or use Your Contribution. You are under no obligation to make further Contributions.
|
||||
|
||||
## 8. Governing Law
|
||||
|
||||
This Agreement is governed by the laws of the State of Delaware, United States of America, without regard to its conflict of law principles. Any dispute arising from this Agreement shall be resolved exclusively in the courts of Delaware.
|
||||
|
||||
## 9. Signing
|
||||
|
||||
You indicate Your acceptance of this Agreement by signing the [cla-assistant](https://github.com/cla-assistant/cla-assistant) prompt when submitting a Pull Request to the Project. Electronic acceptance constitutes a binding signature under applicable law.
|
||||
@@ -99,7 +99,7 @@
|
||||
- **OpenAPI 3.0**: Interactive API documentation at `/api-docs` (Swagger UI, ReDoc, Scalar). All endpoints documented with request/response schemas.
|
||||
- **Multi-User RBAC**: 5 built-in roles (Admin, Manager, Member, AccountManager, AccountViewer) plus custom roles with 22 granular permissions.
|
||||
- **Account-Level Isolation**: Grant users access to specific accounts with scoped roles. Permissions enforced at the API layer.
|
||||
- **CLI Import Tools**: Import from EML directories, MBOX files (including Gmail variants), Thunderbird profiles, and Outlook PST files.
|
||||
- **CLI & WebUI Import Tools**: Import from EML directories, MBOX files (including Gmail variants), Thunderbird profiles, and Outlook PST files via CLI. Import EML files directly from the WebUI.
|
||||
- **CLI Export**: Download account data as MBOX via `bichon-cli`.
|
||||
- **Bulk Restore**: Restore emails in bulk back to their original IMAP accounts.
|
||||
- **Embedded SMTP Server**: Receive emails directly at the gateway level. STARTTLS or TLS encryption. AUTH PLAIN/LOGIN with API token authentication.
|
||||
@@ -404,6 +404,7 @@ All `/api/v1/*` endpoints require `Authorization: Bearer <token>`.
|
||||
| **MBOX** | `bichon-cli` | Single-file streaming import; supports Gmail's MBOX variant |
|
||||
| **Thunderbird** | `bichon-cli` | Reads directly from local Thunderbird profile directory |
|
||||
| **PST** | `bichon-cli` | Outlook Personal Storage (`.pst`) file parsing |
|
||||
| **WebUI Import** | WebUI | Upload `.eml` files directly from the browser |
|
||||
| **API Import** | `POST /api/v1/import` | Base64-encoded EML payloads for programmatic use |
|
||||
| **MBOX Export** | `bichon-cli` | Download account data as `.mbox` file |
|
||||
|
||||
@@ -702,6 +703,9 @@ No. Bichon is an **archiver**, not an email client. The optional SMTP server **r
|
||||
|
||||
Contributions of all kinds are welcome — code, bug reports, documentation, or feature suggestions.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> By submitting a Pull Request, you agree to the terms of the [Contributor License Agreement](CLA.md).
|
||||
|
||||
```bash
|
||||
git clone https://github.com/rustmailer/bichon.git
|
||||
cd bichon
|
||||
@@ -714,7 +718,11 @@ cargo test
|
||||
```
|
||||
|
||||
> [!IMPORTANT]
|
||||
> Before implementing a new feature or making significant changes, please **open an issue first** to discuss your idea with the maintainer and ensure it aligns with the project's scope.
|
||||
> **For new features:** Please **open a feature request issue first** before starting implementation. PRs that introduce new functionality without a prior issue may be **rejected** to avoid unnecessary wasted effort.
|
||||
>
|
||||
> **For major bug fixes** with wide-ranging impact, please **open an issue and discuss with the maintainer** before acting and submitting. This ensures the fix approach is aligned and avoids duplicate or conflicting work.
|
||||
>
|
||||
> **Large, hard-to-review PRs** that touch many modules or contain substantial changes may be **rejected outright**. Break your work into smaller, focused PRs — one logical change per PR.
|
||||
|
||||
Feel free to open an [Issue](https://github.com/rustmailer/bichon/issues) or join the [Discord](https://discord.gg/Bq4M2cDmF4) to discuss ideas.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user