This is a Python client library for interacting with the Mailsac REST API. It provides a simple interface to receive, and manage emails using Mailsac's services. See full documentation for the API, here https://mailsac.com/docs/api/#section/About-the-API
- Retrieve messages from your Mailsac inbox.
- Delete messages from your inbox.
Category | Endpoint | Method | Description | Implemented |
---|---|---|---|---|
Email Messages API | /addresses/{email}/message-count | GET | Count messages for an email inbox | No |
/addresses/{email}/messages | GET | List messages for an email inbox | Yes | |
/addresses/{email}/messages | DELETE | Delete all messages for an email inbox | No | |
/addresses/starred/messages | GET | List starred (saved) messages on the account | No | |
/addresses/{email}/messages/{messageId} | GET | Get email message metadata | Yes | |
/addresses/{email}/messages/{messageId} | DELETE | Delete an email message | Yes | |
/raw/{email}/{messageId} | GET | Get original SMTP message | No | |
/addresses/{email}/messages/{messageId}/headers | GET | Get parsed message headers | No | |
/dirty/{email}/{messageId} | GET | Get message HTML body (dirty) | No | |
/body/{email}/{messageId} | GET | Get message HTML body (sanitized) | No | |
/text/{email}/{messageId} | GET | Get message plaintext | Yes | |
/addresses/{email}/messages/{messageId}/star | PUT | Star (save) a message | No | |
/addresses/{email}/messages/{messageId}/labels/{label} | PUT | Add a label to a message | No | |
/addresses/{email}/messages/{messageId}/labels/{label} | DELETE | Remove a label from a message | No | |
/addresses/{email}/messages/{messageId}/folder/{folder} | PUT | Move a message into a folder | No | |
/addresses/{email}/messages/{messageId}/read/{readBoolean} | PUT | Set message read/unread status | No | |
/inbox | GET | Get all account messages paginated | No | |
/inbox-filter | GET | Filter messages in account by to, from, and/or subject | No | |
/inbox-search | GET | Search messages by to, from, and subject | No | |
/domains/{domain}/messages | GET | List messages for a domain | No | |
/domains/{domain}/delete-all-domain-mail | POST | Delete all messages in a domain | No |
To install the Mailsac client library, you can use pip:
pip install pymailsac
Here is a basic example of how to use the MailsacClient:
from pymailsac.client import MailsacClient
# Initialize the client
client = MailsacClient(api_key='your_api_key')
# Get messages
messages = client.get_messages('your_inbox_id')
# Delete a message
client.delete_message('your_inbox_id', 'message_id')
sequenceDiagram
participant User
participant MailsacClient
User->>MailsacClient: Initialize with API key
MailsacClient-->>User: Client instance created
sequenceDiagram
participant User
participant MailsacClient
participant MailsacAPI
User->>MailsacClient: get_messages(email)
MailsacClient->>MailsacAPI: GET /addresses/{email}/messages
MailsacAPI-->>MailsacClient: JSON response with messages
MailsacClient-->>User: List of EmailMessage instances
sequenceDiagram
participant User
participant MailsacClient
participant MailsacAPI
User->>MailsacClient: delete_message(email, message_id)
MailsacClient->>MailsacAPI: DELETE /addresses/{email}/messages/{message_id}
MailsacAPI-->>MailsacClient: Success response
MailsacClient-->>User: True
Contributions are welcome! Please feel free to submit a pull request or open an issue for any enhancements or bugs.
This project is licensed under the MIT License. See the LICENSE file for more details.