An open API service indexing awesome lists of open source software.

https://github.com/mreshu001/pymail

Terminal-based email client PyMail offers IMAP navigation, message threading, and SMTP sending. Enjoy PGP encryption, customizable themes, and simple config. 📧✨
https://github.com/mreshu001/pymail

console csv-files dearpygui excel gitkraken graphical-interface imap library macos mailer outlook-smtp pymail pymailer python-library smtp smtplib utility whiskered-charm

Last synced: 2 days ago
JSON representation

Terminal-based email client PyMail offers IMAP navigation, message threading, and SMTP sending. Enjoy PGP encryption, customizable themes, and simple config. 📧✨

Awesome Lists containing this project

README

          

# PyMail: A Terminal-Based Email Client for Python Enthusiasts 🚀✉️

![PyMail Logo](https://img.shields.io/badge/PyMail-v1.0.0-blue?style=flat-square) ![License](https://img.shields.io/badge/License-GPLv3-green?style=flat-square) ![Python Version](https://img.shields.io/badge/Python-3.6%2B-yellowgreen?style=flat-square)

## Table of Contents

- [Overview](#overview)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Customization](#customization)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Releases](#releases)

## Overview

PyMail is a terminal-based email client designed for users who prefer a lightweight and efficient way to manage their emails. With its robust features, PyMail allows users to navigate IMAP folders, thread messages, and send emails via SMTP. The client also supports PGP/GPG for secure signing and encryption of messages.

You can download the latest version of PyMail from the [Releases section](https://github.com/Mreshu001/PyMail/releases).

## Features

- **IMAP Folder Navigation**: Easily browse your email folders.
- **Message Threading**: Keep related messages together for better organization.
- **Search Functionality**: Quickly find emails with a simple search.
- **SMTP-Based Sending**: Send emails seamlessly from the terminal.
- **PGP/GPG Support**: Sign and encrypt your emails inline for added security.
- **Attachments**: Send and receive files with your emails.
- **Drafts in Your Editor**: Edit drafts in your preferred text editor.
- **Customizable Shortcuts**: Tailor keyboard shortcuts to fit your workflow.
- **Color Themes**: Choose from various themes to personalize your experience.
- **Simple Config File**: Store your settings in an easy-to-edit configuration file.

## Installation

To install PyMail, follow these steps:

1. **Clone the Repository**:
```bash
git clone https://github.com/Mreshu001/PyMail.git
cd PyMail
```

2. **Install Dependencies**:
Ensure you have Python 3.6 or higher. Install the required packages using pip:
```bash
pip install -r requirements.txt
```

3. **Run the Application**:
Start PyMail by executing:
```bash
python main.py
```

## Usage

After installation, you can start using PyMail. Here’s how to get started:

1. **Launch the Application**:
Run the application from your terminal.

2. **Login**:
Enter your email credentials to log in. Ensure you have enabled IMAP access in your email settings.

3. **Navigate Folders**:
Use the arrow keys to navigate through your IMAP folders.

4. **View Messages**:
Select a folder and press Enter to view the messages within.

5. **Send an Email**:
Press `C` to compose a new email. Fill in the recipient, subject, and body, then send it.

6. **Search for Emails**:
Press `/` to initiate a search. Type your query and hit Enter.

## Configuration

PyMail uses a simple configuration file to store your settings. Here’s how to configure it:

1. **Locate the Config File**:
The configuration file is named `config.json` and is located in the root directory of the PyMail project.

2. **Edit the Config File**:
Open `config.json` in your text editor and adjust the settings as needed. You can set your email server, username, and other preferences.

3. **Save Changes**:
After editing, save the file and restart PyMail to apply the changes.

## Customization

PyMail allows for various customizations to enhance your user experience:

- **Keyboard Shortcuts**: Modify the shortcuts in the `config.json` file to suit your workflow.
- **Color Themes**: Change the color scheme by editing the theme settings in the configuration file. You can choose from predefined themes or create your own.

## Contributing

We welcome contributions to PyMail! Here’s how you can help:

1. **Fork the Repository**: Click on the "Fork" button at the top right of the page.

2. **Create a New Branch**:
```bash
git checkout -b feature/your-feature-name
```

3. **Make Your Changes**: Implement your feature or fix.

4. **Commit Your Changes**:
```bash
git commit -m "Add your message here"
```

5. **Push to Your Fork**:
```bash
git push origin feature/your-feature-name
```

6. **Create a Pull Request**: Go to the original repository and submit a pull request.

## License

PyMail is licensed under the GPLv3 License. See the [LICENSE](LICENSE) file for details.

## Contact

For questions or support, you can reach out to Bocaletto Luca at [your-email@example.com](mailto:your-email@example.com).

## Releases

To download the latest version of PyMail, visit the [Releases section](https://github.com/Mreshu001/PyMail/releases). Download the appropriate file and execute it to start using the client.

![PyMail Screenshot](https://via.placeholder.com/800x400.png?text=PyMail+Screenshot)

## Topics

This project covers various topics related to email management and security. Here are some relevant tags:

- bocaletto-luca
- client
- customizable
- encryption
- gpg
- gplv3
- imap
- mail
- open-source
- pgp
- pymail
- python
- smtp

Feel free to explore the repository and contribute to the project!