Here are step-by-step installation instructions for setting up the Sendy Bulk Subscription Tool on your server.
Installation Instructions for Sendy Bulk Subscription Tool
This script allows you to bulk subscribe users to Sendy via CSV file or manual input, with GDPR compliance and Silent (Single Opt-in) mode options.
1️⃣ Requirements
✅ A Web Server with PHP 7.4+ (Apache, Nginx, or LiteSpeed).
✅ cURL enabled in PHP (required for API calls).
✅ A working Sendy installation.
✅ A valid Sendy API key & List ID.
2️⃣ Download & Extract the Files
- Download the script (if you haven't already).
- Upload the files to your server (inside a public folder like
/public_html/sendy-bulk-subscribe/
). - Ensure the following files exist:
/sendy-bulk-subscribe/ ├── index.php ├── config.php ├── sendy_log.txt
3️⃣ Edit the Configuration File
Open config.php
and update it with your Sendy API details:
<?php
define('SENDY_API_URL', 'https://your-sendy-domain.com/subscribe'); // Replace with your Sendy installation URL
define('SENDY_API_KEY', 'your-api-key'); // Replace with your actual Sendy API key
define('SENDY_LIST_ID', 'your-list-id'); // Replace with the Sendy List ID
?>
Where to Find Your Sendy API Key & List ID?
- Login to Sendy → Go to Settings → Copy your API key.
- Go to "View All Lists", select a list, and copy the List ID.
4️⃣ Set Correct File Permissions
✅ Ensure the sendy_log.txt file is writable:
chmod 666 sendy_log.txt
✅ If needed, set PHP files to 644:
chmod 644 index.php config.php
5️⃣ Test the Script
1️⃣ Open your web browser and visit:
https://yourdomain.com/sendy-bulk-subscribe/
2️⃣ Try pasting some test emails or uploading a CSV. 3️⃣ Select GDPR or Silent Opt-in if required. 4️⃣ Click Subscribe Emails.
6️⃣ Debugging (If Something Goes Wrong)
Check Logs
If an error occurs: 1️⃣ Open sendy_log.txt
to see Sendy's API response:
cat sendy_log.txt
2️⃣ Look for issues like:
- Invalid List ID
- Incorrect API Key
- Wrong API URL
- Sendy is blocking API requests
Test Sendy API Manually
If the script does not work, test the API directly:
curl -X POST https://your-sendy-domain.com/subscribe \
-d "api_key=your-api-key&email=test@example.com&name=John Doe&list=your-list-id&boolean=true"
If this fails, check:
✅ API key is correct.
✅ Sendy installation is running.
✅ Your server can make cURL requests.
7️⃣ Secure the Script (Optional)
If you don’t want unauthorized users accessing your bulk subscribe tool, you can:
- Password Protect the Directory (in
.htaccess
):AuthType Basic AuthName "Restricted Access" AuthUserFile /path-to/.htpasswd Require valid-user
- Limit access by IP Address (in
.htaccess
):Order Deny,Allow Deny from all Allow from YOUR.IP.ADDRESS
- Move
config.php
outside the public directory for extra security.
8️⃣ Done!
Your Sendy Bulk Subscribe Tool is now installed and ready to use!
Try subscribing test emails and confirm they show up in Sendy.
Troubleshooting FAQ
❓ My emails are failing, what do I do?
✅ Check sendy_log.txt
for API errors.
✅ Confirm List ID & API key are correct in config.php
.
✅ Run a manual cURL test (see step 6).
❓ Nothing happens when I submit the form?
✅ Open Developer Console (F12) → Check the Network Tab for errors.
✅ Ensure PHP cURL is installed (php -m | grep curl
).
✅ Try renaming .htaccess
(if using one) to see if it’s blocking the request.
❓ Can I use this on a shared hosting account?
✅ Yes! Just ensure cURL is enabled in php.ini
:
allow_url_fopen = On
extension=curl