A Python lightweight Postal API Client
Project description
PYostal: Postal API Client
This library helps you use the Postal API in Python 3.9 (and above) to send Emails, get Message Details & Deliveries and Implement Events to handle Server Webhooks.
It uses Requests the simple, yet elegant HTTP library to handle all the http sorcery.
Installing Requests and Supported Versions
PYostal is available on PyPI:
$ python -m pip install pyostal
PYostal officially supports Python 3.9+.
Usage
Using the Client
You will need an API Credential from your Postal Installation to use the API Client.
from pyostal.client import Client
# Create a new Postal client using the server key of your Postal Installation.
client = Client('https://postal.yourdomain.com', 'your-api-key')
# Optional: You can add any aditional Headers for your API installation
# (Maybe Authorization)
# You just add a dict with your headers:
headers = {
'Authorization' => 'Basic RTYtaO54BGBtcG9yYWwyMDIw'
}
client = Client('https://postal.yourdomain.com', 'your-api-key', headers)
#Or you can add them manually to a Client Instance:
client.headers = headers
Sending an Email
Sending an email is simple. You can follow the example below:
# Create a dict with the message:
payload = {
'to': ['mail@example.com'],
'from_address': 'othermail@example.com',
'reply_to': 'reply-to@example.com',
'subject': 'This is a subject',
'plain_body': 'This is a body'
}
#send it using the client. that's it
response = client.send(payload)
Or Create a new Email instance and add manually each of the Mail attributes
from pyostal.emails import Email
email = Email({
'to': ['mail@example.com'],
'bcc': ['test1@example.com', 'test2@example.com],
'from_address': 'othermail@example.com',
'reply_to': 'reply-to@example.com',
'subject': 'This is a subject',
'plain_body': 'This is a body'
})
email.add_cc('emailcc@example.com')
email.html_body = "<p>This is a HTML body</p>"
# Here we get a pyostal.response.Response instance
response = client.send(Email)
API Information
You can get more information about the Postal API and Payloads in the Postal Project Wiki
Author
Rafael Nevarez
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pyostal-0.8.1.tar.gz
.
File metadata
- Download URL: pyostal-0.8.1.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d05f8f8722a82327b501a627b5f6b5aea70a8d3c0f7dc381d40c4cc18df072ef |
|
MD5 | ef10c2d7dff4a889fc343b86e0b5d6c4 |
|
BLAKE2b-256 | d557bcfc429df3ce47b6d109ab4432f79cc87fe060510ea4a392dcb18f3bc2e2 |