MailTmWrapper 0.0.6
A Python wrapper for the Mail.tm API
Requires Python: >=3.6

<h1 align="center">MailTM Wrapper</h2>

**MailTmWrapper** is a Python library designed to interact with the Mail.TM API, providing an easy-to-use interface for creating temporary email accounts and managing email messages programmatically. This wrapper simplifies operations such as generating tokens, retrieving messages, and managing accounts.

## 🔥 Features

- Create and manage temporary email accounts.
- Generate tokens for authenticated API requests.
- Fetch, read, and delete email messages.
- Retrieve domains and account information.
- Minimal dependencies and easy integration.
- Supports custom proxy configurations for network flexibility.

## ⚙️ Installation

To install the package locally, clone the repository and run:

```bash
pip install .
```

You can also install it via `pip` from PyPI:

```bash
pip install MailTmWrapper
```

## 🔧 Usage

### Importing the Package

```python
from mailtmwrapper import MailTM
```

### Creating an Account

You can create a temporary email account using the `create_account` method:

```python
token = MailTM().create_token(email, password)
mail = MailTM(token) # token is optional

# Create a new temporary email account
account = mail.create_account()
email = account['address']
password = account['password']
print(f"Temporary email: {email}")
```

If you prefer, you can specify a custom email address and password:

```python
account = mail.create_account(email="custom_address@domain.com", password="CustomPassword123?")
```

### Generating a Token

To perform authenticated operations, generate a token using the `create_token` method:

```python
token = mail.create_token(email, password)
print(f"Generated token: {token}")
```

### Fetching Emails

Retrieve the list of email messages associated with your account:

```python
messages = mail.get_messages()
print("Messages:", messages)
```

You can also fetch specific message details by ID:

```python
message_id = messages['hydra:member'][0]['id']
message_details = mail.get_message_by_id(message_id)
print("Message details:", message_details)
```

### Deleting Emails

Delete an email message by its ID:

```python
message_id = "your_message_id"
success, status_code = mail.delete_message(message_id)
if success:
    print("Message deleted successfully.")
else:
    print(f"Failed to delete message. Status code: {status_code}")
```

### Managing Accounts

#### Retrieve Account Information

Get account details using the `get_me` method:

```python
account_info = mail.get_me()
print("Account info:", account_info)
```

#### Delete an Account

Delete the temporary email account:

```python
success, status_code = mail.delete_account(account_id="your_account_id")
if success:
    print("Account deleted successfully.")
else:
    print(f"Failed to delete account. Status code: {status_code}")
```

### Working with Domains

#### Retrieve Available Domains

Fetch the list of domains supported by Mail.TM:

```python
domains = mail.get_domains()
print("Domains:", domains)
```

#### Fetch Domain Details

Get details of a specific domain by its ID:

```python
domain_id = "your_domain_id"
domain_details = mail.get_domain_by_id(domain_id)
print("Domain details:", domain_details)
```

## Full Example

Here is a full example combining account creation, token generation, and email fetching:

```python
from mailtm_wrapper import MailTM

mail = MailTM()

# Create a temporary account
account = mail.create_account()
email = account['address']
password = account['password']
print(f"Temporary email: {email}")

# Generate a token
token = mail.create_token(email, password)
print(f"Generated token: {token}")

# Fetch messages
messages = mail.get_messages()
print("Messages:", messages)

# Retrieve message details
if messages['hydra:member']:
    message_id = messages['hydra:member'][0]['id']
    message_details = mail.get_message_by_id(message_id)
    print("Message details:", message_details)

# Delete the account
success, status_code = mail.delete_account(account_id=account['id'])
if success:
    print("Account deleted successfully.")
else:
    print(f"Failed to delete account. Status code: {status_code}")
```

## ❗ Requirements

MailTmWrapper requires:

- `requests` to send requests to the Mail.TM API.
  To install dependencies manually, run:

```bash
pip install requests
```

## ©️ License

MailTmWrapper is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
[Mail.TM](https://mail.tm/).

## 🖥️ Contributing

Contributions are welcome! Feel free to fork the repository, make changes, and submit a pull request.

## 👤 Author

MailTmWrapper is developed and maintained by **sexfrance**.
[Mail.TM](https://mail.tm/) is developed and maintained by **MailTM**.