141 lines
3.7 KiB
Plaintext
141 lines
3.7 KiB
Plaintext
---
|
|
title: Python
|
|
description: "The Unsend Python package lets you interact with the Unsend API to send and manage emails as well as domains. This is a quick guide on using the package to send emails and retrieve email information."
|
|
icon: python
|
|
---
|
|
|
|
<Warning>
|
|
This is a community-maintained package and not maintained by the Unsend.
|
|
</Warning>
|
|
|
|
**Shout out to [harshsbhat](https://x.com/HarshBhatX) for maintaining this package.**
|
|
|
|
## Installation
|
|
|
|
To install the Unsend package, you can use pip:
|
|
|
|
```bash
|
|
pip install unsendcommunity
|
|
```
|
|
|
|
## Related Links
|
|
|
|
Github Repository: [Github](https://github.com/harshsbhat/unsend_community.git)
|
|
|
|
PyPI package: [PyPi](https://pypi.org/project/UnsendCommunity/)
|
|
|
|
## Usage
|
|
|
|
Below is an example of how to use the Unsend package to send an email and retrieve email information.
|
|
|
|
### Initialize
|
|
|
|
Change the URL accordingly if you are using self self-hosted version of Unsend. The default URL will be https://app.unsend.dev.
|
|
|
|
```python
|
|
|
|
from unsendcommunity import Unsend
|
|
|
|
# Initialize the Unsend client
|
|
api_key = 'your-api-key'
|
|
client = Unsend(key=api_key, url='https://app.unsend.dev')
|
|
|
|
```
|
|
|
|
### Sending Emails
|
|
|
|
To send an email you will need to define the payload. After definition, you can use the `.send_emails` method to send emails with the payload as a parameter.
|
|
|
|
```python
|
|
payload = {
|
|
"to": "youremail@gmail.com",
|
|
"from": "hello@domainname.com",
|
|
"subject": "Unsend test email",
|
|
"text": "hello,\n\nUnsend is the best open source sending platform",
|
|
"html": "<p>hello,</p><p>Unsend is the best open source sending platform</p><p>check out <a href='https://unsend.dev'>unsend.dev</a></p>",
|
|
}
|
|
|
|
# Send the email
|
|
response = client.send_email(payload)
|
|
print("Send Email Response:", response)
|
|
```
|
|
|
|
### Retrieve Emails using the id
|
|
|
|
The email will be retrieved using the ID you get after sending the mail.
|
|
|
|
```python
|
|
email_id = 'email-id-from-unsend'
|
|
email_response = client.get_email(email_id)
|
|
print("Get Email Response:", email_response)
|
|
```
|
|
|
|
The sample response of `get_email` is shown below:
|
|
|
|
```bash
|
|
{
|
|
"data": {
|
|
"id": "your-email-id",
|
|
"teamId": 1,
|
|
"to": [
|
|
"yourmail@example.com"
|
|
],
|
|
"from": "hello@mail.example.com",
|
|
"subject": "Unsend test email",
|
|
"html": "<p>hello,</p><p>Unsend is the best open source sending platform</p><p>check out <a href='https://unsend.dev'>unsend.dev</a></p>",
|
|
"text": "hello,\n\nUnsend is the best open source sending platform",
|
|
"createdAt": "2024-07-29T05:04:21.498Z",
|
|
"updatedAt": "2024-07-29T05:04:27.130Z",
|
|
"emailEvents": [
|
|
{
|
|
"emailId": "your-email-id",
|
|
"status": "FAILED",
|
|
"createdAt": "2024-07-29T05:04:27.124Z",
|
|
"data": {
|
|
"error": "MessageRejected: Email address is not verified. The following identities failed the check in region US-EAST-1: example@gmail.com"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"error": null
|
|
}
|
|
```
|
|
|
|
### Retrieve domain information
|
|
|
|
Retrieves domain information
|
|
Domains that are associated with this account will be displayed with their detailed information.
|
|
|
|
```python
|
|
domain_response = client.get_domain()
|
|
print("Get Domain Response:", domain_response)
|
|
```
|
|
|
|
Sample response of the `get_domain` method
|
|
|
|
```bash
|
|
{
|
|
"data": [
|
|
{
|
|
"id": 1,
|
|
"name": "mail.domain.com",
|
|
"teamId": 1,
|
|
"status": "SUCCESS",
|
|
"region": "us-east-1",
|
|
"clickTracking": false,
|
|
"openTracking": false,
|
|
"publicKey": "your-public-key",
|
|
"dkimStatus": "SUCCESS",
|
|
"spfDetails": "SUCCESS",
|
|
"dmarcAdded": false,
|
|
"errorMessage": null,
|
|
"subdomain": "mail",
|
|
"isVerifying": false,
|
|
"createdAt": "2024-07-26T05:52:17.199Z",
|
|
"updatedAt": "2024-07-26T05:57:27.790Z"
|
|
}
|
|
],
|
|
"error": null
|
|
}
|
|
```
|