Installation

To install the Unsend package, you can use pip:

pip install unsendcommunity

Github Repository: Github

PyPI package: PyPi

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.


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.

payload = {
    "to": "[email protected]",
    "from": "[email protected]",
    "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.

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:

{
  "data": {
    "id": "your-email-id",
    "teamId": 1,
    "to": [
      "[email protected]"
    ],
    "from": "[email protected]",
    "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: [email protected]"
        }
      }
    ]
  },
  "error": null
}

Retrieve domain information

Retrieves domain information Domains that are associated with this account will be displayed with their detailed information.

domain_response = client.get_domain()
print("Get Domain Response:", domain_response)

Sample response of the get_domain method

{
  "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
}