Skip to content

Added SendPulse Support#1192

Merged
caronc merged 4 commits intomasterfrom
1137-sendpulse-support
Aug 2, 2025
Merged

Added SendPulse Support#1192
caronc merged 4 commits intomasterfrom
1137-sendpulse-support

Conversation

@caronc
Copy link
Owner

@caronc caronc commented Aug 28, 2024

Description:

Related issue (if applicable): #1137

SendPulse Notifications

  • Source: https://sendpulse.com/
  • Icon Support: no
  • Attachment Support: yes
  • Message Format: Text
  • Message Limit: 32768 Characters per message

Account Setup

Once you have an account and access to your dashboard. You will need to ensure you acquire your Client ID and Client Secret in order to construct the Apprise URLs

Syntax

Valid syntaxes are as follows:

  • {schema}://{user}@{host}/{client_id}/{client_secret}
  • {schema}://{user}@{host}/{client_id}/{client_secret}/{to_email}
  • {schema}://{user}@{host}/{client_id}/{client_secret}/{to_email1}/{to_email2}/{to_email3}

Template support is also supported as well, You just need to specify the integer assigned to it as part of the URL:

  • {schema}://{user}@{host}/{client_id}/{client_secret}/:{to_email}?template={temlate_int}

If you want to take advantage of the dynamic_template_data variables, just create arguments prefixed with a plus (+); for example:

  • sendpulse://{user}@{host}/{client_id}/{client_secret}/{to_email}?template={template_int}&+{sub1}=value&+{sub2}=value2

Parameter Breakdown

Variable Required Description
user Yes Combined with the host, it constructs the email address you have configured with your SendPulse account.
host Yes Combined with the user, it constructs the email address you have configured with your SendPulse account.
client_id Yes The Client ID associated with your SendPulse account.
client_secret Yes The Client Secret associated with your SendPulse account.
from No You can optionally identify who the email is from if you wish.
to_email No This is the email address will identify the email's destination (the To address). If one isn't specified then the from_email is used instead.
template No You may optionally specify the integer of a previously generated SendPulse template to base the email on.
cc No The Carbon Copy (CC:) portion of the email. This is entirely optional.
bcc No The Blind Carbon Copy (BCC:) portion of the email.

Dynamic Template Data

Apprise has template support for SendPulse. Just define the ?template= and the optional arguments you want to set. You can identify and set these variables using Apprise by simply sticking a plus (+) in front of any parameter you specify on your URL string.

Consider the following template: 1234

An Apprise URL might look like:

sendpulse://user@example.com?template=1234&+what=templates&+app=Apprise

Example

Send a SendPulse notification:

# Assuming our {user} is user@example.com
# Assuming our {client_id} is client_id
# Assuming our {client_secret} is client_secret
# Assuming we want to send an email to target@example.com
# Assuming our {to_email} is someone@microsoft.com
apprise -vv -t "Test Message Title" -b "Test Message Body" \
   sendpulse:///user@example.com/client_id/client_secret/target@example.com

New Service Completion Status

  • apprise/plugins/sendpulse.py
  • KEYWORDS
    • add new service into this file (alphabetically).
  • README.md
    • add entry for new service to table (as a quick reference)
  • packaging/redhat/python-apprise.spec
    • add new service into the %global common_description

Checklist

  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • No lint errors (use flake8)
  • 100% test coverage

Testing

Anyone can help test this source code as follows:

# Create a virtual environment to work in as follows:
python3 -m venv apprise

# Change into our new directory
cd apprise

# Activate our virtual environment
source bin/activate

# Install the branch
pip install git+https://github.com/caronc/apprise.git@1137-sendpulse-support

# Test out the changes with the following command:
apprise -t "Test Title" -b "Test Message" \
  "sendpulse://from@email/client_id/client_secret"

@codecov
Copy link

codecov bot commented Aug 31, 2024

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.66%. Comparing base (f4e3f6e) to head (8e1e6f4).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff            @@
##           master    #1192    +/-   ##
========================================
  Coverage   99.65%   99.66%            
========================================
  Files         172      173     +1     
  Lines       22214    22479   +265     
  Branches     3502     3561    +59     
========================================
+ Hits        22138    22403   +265     
  Misses         68       68            
  Partials        8        8            

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@caronc caronc force-pushed the 1137-sendpulse-support branch 2 times, most recently from e442cbd to d5c6c4a Compare September 1, 2024 01:14
@caronc caronc linked an issue Sep 14, 2024 that may be closed by this pull request
@raqua
Copy link

raqua commented Aug 1, 2025

@caronc I came across this when setting SendPulse today. I have tested it and can confirm that the code worked and emails were sent.

@caronc
Copy link
Owner Author

caronc commented Aug 1, 2025

Great timing; I was going to do a release this weekend; thanks to you, this will be included in it.

@caronc caronc force-pushed the 1137-sendpulse-support branch 2 times, most recently from 84e8981 to 7cd41b1 Compare August 1, 2025 22:12
@caronc caronc force-pushed the 1137-sendpulse-support branch from d6c11fe to 8e1e6f4 Compare August 1, 2025 22:31
@caronc caronc merged commit 6a21495 into master Aug 2, 2025
17 checks passed
@caronc caronc deleted the 1137-sendpulse-support branch August 16, 2025 23:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

request for supporting sendpulse SMTP

2 participants