Skip to content

Latest commit

 

History

History
155 lines (117 loc) · 5.75 KB

README.md

File metadata and controls

155 lines (117 loc) · 5.75 KB

Syathiby Mail (Smail) - Simplify Webmail Sign-Up Service

creatorbe on YouTube

Syathiby Mail (Smail) is an innovative and user-friendly webmail sign-up service designed to streamline the creation of new email accounts. This platform leverages the CPANEL API to simplify the registration process and ensures that all new accounts undergo a thorough verification and management process by administrators.

Key Features:

  1. Simplified Sign-Up Process:

    • Intuitive Interface: Our straightforward sign-up process allows users to create new email accounts quickly and easily.
    • CPANEL API Integration: Utilizes CPANEL API to automate and simplify the email account creation process.
  2. Administrative Oversight:

    • Admin Confirmation: All new accounts require approval from an administrator, ensuring that only verified and legitimate users gain access to the system.
    • Role-Based Access: Administrators have the ability to manage user roles, granting or revoking access based on predefined criteria.
  3. Customizable and Scalable:

    • Environment Configuration: Easily configurable environment variables allow for seamless deployment across different environments (development, staging, production).
    • Database Management: Flexible database configuration options support both local and production environments, ensuring smooth operation regardless of the deployment context.
  4. User-Friendly Experience:

    • Responsive Design: A responsive and mobile-friendly design ensures that users can access and manage their accounts from any device ( currently only impelementation on sign up page : gmail like us ).
    • Clear Instructions: Detailed instructions and tooltips guide users through the sign-up process, reducing the likelihood of errors and improving overall user satisfaction.

Getting Started:

To get started with Syathiby Mail, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/CreatorB/smail.git
    cd smail
  2. Configure Environment Variables:

    • Update the inc/.env file with your CPANEL credentials and other necessary configurations.
  3. Run the Application:

    php -S localhost:8000

    Open your browser and navigate to http://localhost:8000.

Database Setup:

To set up the database, create a new database and import the following SQL query to create the users table:

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    wa VARCHAR(20) DEFAULT NULL,
    class VARCHAR(5) DEFAULT NULL,
    role ENUM('santri_ikhwan', 'santri_akhwat', 'staff', 'admin_ikhwan', 'admin_akhwat', 'root') NOT NULL DEFAULT 'santri_ikhwan',
    is_confirmed INT(1) NOT NULL DEFAULT 0,
    created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

To implement a toggle for maintenance mode in your application, you can create a separate settings table to store application-wide settings, including the maintenance mode status. This approach is more modular and scalable.

CREATE TABLE settings (
    id INT AUTO_INCREMENT PRIMARY KEY,
    setting_name VARCHAR(255) NOT NULL UNIQUE,
    setting_value VARCHAR(255) NOT NULL
);
INSERT INTO settings (setting_name, setting_value) VALUES ('mode_maintenance', '0'), ('mode_autoconfirm', '0');

Environment Configuration:

Edit the .env file located in the inc folder with the following configurations:

ENVIRONMENT=development/production
BASE_DOMAIN=
BASE_EMAIL=
HOSTNAME_SERVER=https://subdomain.${BASE_DOMAIN}
HOSTNAME_LOCAL=http://192.168.50.100/dev/smail
CPANEL_HOST=cpanel.${BASE_DOMAIN}
CPANEL_USERNAME=
CPANEL_PASSWORD=
CPANEL_PORT=
ERROR_LOG_PATH=../assets/error_log.txt
URL_OFFICIAL=https://${BASE_DOMAIN}
TIMEOUT=10
PATH_ROOT_CSS=${HOSTNAME_SERVER}/assets/css
PATH_ROOT_JS=${HOSTNAME_SERVER}/assets/js
PATH_ROOT_CSS_CREATORBE=${PATH_ROOT_CSS}/creatorbe.css
PATH_ROOT_JS_CREATORBE=${PATH_ROOT_JS}/creatorbe.js
NAMESERVER=localhost
USERNAME_PROD=
PASSWORD_PROD=
NAMADB_PROD=
USERNAME_LOCAL=root
PASSWORD_LOCAL=
NAMADB_LOCAL=smail

Contributing:

We welcome contributions from the community to help improve Syathiby Mail. To contribute, please follow these steps:

  1. Fork the Repository:

    • Click the "Fork" button at the top right of the repository page.
  2. Clone Your Fork:

    git clone https://github.com/yourusername/smail.git
    cd smail
  3. Create a New Branch:

    git checkout -b feature/your-feature-name
  4. Make Your Changes:

    • Implement your feature or bug fix.
    • Ensure that your code follows the project's coding standards.
  5. Commit Your Changes:

    git commit -m "Add your commit message here"
  6. Push to Your Fork:

    git push origin feature/your-feature-name
  7. Create a Pull Request:

    • Go to the original repository and click the "New Pull Request" button.
    • Select your branch and submit the pull request.

Code of Conduct:

Please note that we will create a Changelog in place to ensure a positive and inclusive environment all your interactions and update with the project.

License:

Syathiby Mail is open-source software licensed under the MIT License.


Join us in revolutionizing the way users interact with Syathiby's webmail service. Experience the future of email management with Syathiby Mail.