Troubleshooting & Support


Hit a snag?

Always ensure you are up to date with the latest version of Sendy. Older versions are no longer supported as newer versions have lots of fixes and improvements over the old ones. The current version is 6.1.1.

As below are answers to common problems that users may encounter. Hint: Press Cmd + F (Mac) or Ctrl + F (Windows) and type in the keywords to your issue to jump directly to the FAQ if it exists.

Can't find your answer below? Try searching Sendy's support forum, post your question there or email for support. Please note that support is only provided for the latest version of Sendy.


Setting up and logging in

  1. Check that you are installing Sendy on the domain you purchased Sendy for. You can install Sendy on any folders or sub domains as long as the 'main domain' is a Sendy licensed domain.
  2. If you are sure you're installing Sendy on the domain you purchased Sendy for, your server may have a firewall blocking outgoing connections. Check with your host if your server has a firewall blocking outgoing connections. If so, request your host to whitelist 162.243.225.110 and amazonaws.com.
  3. If you setup your own server, please install all the latest updates to the server and reboot Apache. Or contact your hosting support to do so.
  4. Also check your compatibility checklist via https://your_sendy_installation_url/_compatibility.php?i=1 and make sure curl and curl_exec is enabled. If either module is not enabled, please contact your hosting support to install them on your server.
  5. If you're attempting to login to Sendy and frequently get an 'Outgoing connections blocked' error, your php.ini's session.save_path is probably set to the /tmp directory, or a directory that's set to empty itself daily. This directory is emptied by the server daily so when you attempt to login, the cookies that was previously saved in your browser won't match the session data because the session directory is emptied. If you delete cookies in your browser and try logging into Sendy again, you'll realise it will work.

    But to prevent having to do this over and over again, change the session.save_path to another permanent directory instead of /tmp (or a directory that's set to empty itself daily). Don't forget to give the new session directory 'write' permissions. Contact your hosting provider if you're unsure how to do this.
  6. Please check that your license key is copied and pasted fully and correctly in your Sendy installation. Ensure there are no unintentional spaces or added characters in your license key.

'http://your_sendy_installation_url' is a dummy placeholder URL for APP_PATH in /includes/config.php.

You need to set the APP_PATH in /includes/config.php to your Sendy installation URL.

Eg. if your domain is https://mydomain.com and you uploaded Sendy to /sendy/ folder, your APP_PATH is 'https://mydomain.com/sendy'.

Check Sendy's .htaccess file

Please check the .htaccess file in Sendy's directory on your web server and ensure the following:

  • It is Sendy's original .htaccess file (download Sendy from https://sendy.co/get-updated to compare the .htaccess file with the one in your Sendy directory)
  • It is not Wordpress's code in the .htaccess file
  • The code in Sendy's .htaccess file is not being modified in any way

Ensure you're installing Sendy on Apache, not Nginx

Please note that Sendy is not officially tested on Nginx. Sendy is only officially supported and tested on Apache as described in the FAQ on Sendy’s website https://sendy.co/#faqs-buy.

However, based on other users who installs Sendy on Nginx, you may need to do a “proxypass over to Apache”. You will also need to change Sendy's .htaccess file to an Nginx compatible web config - some of the following links may help:

Sendy uses URLs without extensions, also known as 'Pretty URLs'. Instead of using URLs that ends like this /login.php, it uses URLs that ends like this /login. If you get a 404 error at the login page after installation, check the following list:

  1. Did you upload Sendy's .htaccess file?
  2. Try adding RewriteBase /sendy after the line RewriteEngine On in Sendy's .htaccess file (if your Sendy URL looks like this https://mydomain.com/sendy). Or add RewriteBase / if your Sendy URL looks like this https://sendy.mydomain.com.
  3. If you setup your own server, ensure AllowOverride All is set in your Apache's httpd.conf instead of AllowOverride None so that Sendy's .htaccess file is not ignored by your server. Remember to reboot Apache after making changes to httpd.conf.

  1. Try removing Options +FollowSymLinks from Sendy’s .htaccess file and try again.

    If it does not work, try removing Options -Multiviews as well.

  2. Check that the functions.php file is present in the /includes/ directory. Some hosts automatically deletes the file thinking that it has malware due to it being obfuscated. If it is missing, re-upload it. Also contact your hosting provider to flag the file as safe so that it won't be automatically deleted again.
  3. If you're installing Sendy inside a Wordpress directory, Wordpress may prevent Sendy from working correctly. Install Sendy on a sub-domain instead so it is isolated from Wordpress.

  1. Visit your 'Server compatibility checklist' via https://your_sendy_installation_url/_compatibility.php?i=1 (replace https://your_sendy_installation_url with your own Sendy installation URL) and check that mysqli extension is installed on your server. If otherwise, contact your hosting support to install mysqli extension on your server.
  2. Check that regular apostrophes are wrapping the database credentials in /includes/config.php. The text or code editor you used to edit the /includes/config.php file may have converted the apostrophes to non-standard apostrophes causing this issue.
  3. Make you did not unintentionally add empty spaces or lines before the start of the first line or after the last line of code in /includes/config.php. This will cause a 'headers already sent' error that'll halt the script, preventing it from redirecting you to the installation page.
  4. Check that the functions.php file exists in the /includes/ folder and re-upload it if it is missing. Some hosting companies errorneously remove files without your knowledge via anti-virus softwares or scanners. If this is the case, contact your hosting provider to whitelist both /includes/functions.php and _install.php files.

There's really no other reason why you're getting this error other than the following.

  1. Check that your database credentials are correct.
  2. Check that you've attached the database user to the database and granted it full privileges.
    Check with your hosting provider or refer to your server documentation on how to do that if you're unsure.
  3. Check that regular apostrophes are wrapping the database credentials in /includes/config.php. The text or code editor you used to edit the /includes/config.php file may have converted the apostrophes to non-standard apostrophes causing this issue.
  4. Lastly, make sure you've pasted your database credentials within the apostrophes and not anywhere else
    (see correct example below):

  1. Your login email and password is case sensitive. For example, if your login email was saved as Name@Domain.com in Sendy, attempting to login with name@domain.com will fail. Log in with your credentials using the correct case.
  2. Check if your login email address stored in the database (username column in login table on the first row) have a "space" appended or prepended to it. If so, remove it. Then try logging in again.
  3. Your domain may have a "www" redirect. If so, try setting the APP_PATH in /includes/config.php to the "www" version of your Sendy URL. For example, try 'http://www.mydomain.com/sendy' instead of 'http://mydomain.com/sendy'.
  4. Your website have a 'https' redirect for all URLs but you set the APP_PATH in /includes/config.php to the 'http' instead of 'https' version of your Sendy URL. If so, set the APP_PATH to the 'https' version of your Sendy URL. For example 'https://mydomain.com/sendy' instead of 'http://mydomain.com/sendy'.
  5. Your server can't save session variables because of a misconfiguration. You may need your hosting support's help with this. Contact your hosting support to check if your server's session.save_path is set correctly and is writable as session variables can't be saved resulting in you not being able to log in.
  6. Under some rare circumstances your hosting server may be "over quota" or your disk is full. Please check that this isn't so.
  7. Delete cookies in your browser (or only those of Sendy's) and try again

Please ensure your main account login's email address is verified in your Amazon SES console otherwise the 'forgot password' email will fail to send. If you've already done that and the email is still not in your inbox, please check your spam folder.

Alternatively, reset your password in your database directly via phpmyadmin by following these steps → https://sendy.co/forum/discussion/2277/how-can-i-manually-reset-a-password-in-the-database-using-phpmyadmin/p1

  1. First and foremost, set a custom domain that's not currently in use. For example, if your website is domain.com, setting your custom domain as 'domain.com' will not work as it is already pointed to your website. Use a sub domain name instead as your custom domain, eg. 'newsletter.domain.com'.
  2. Ensure that you've created the CNAME record in your custom domain's DNS where it is hosted as instructed in your brand settings. You can check if your CNAME record have resolved fully to your Sendy installation domain using a DNS propagation checker. If it is not resolving, please contact your DNS hosting provider for help.
  3. Please do not create any 'redirections', 'sub-domains', or 'A records' for the custom domain you're trying to setup. You only create a CNAME record as per the instructions.
  4. If your CNAME has been created and fully resolved, but when visiting your Sendy installation with the domain name replaced with your custom domain does not load your Sendy login page, you may need to create an 'Alias' for the custom domain.

    If you are using cPanel:

    1. Log in to the cPanel of the main domain.
    2. Click "Domains" under the "Domains" section.
    3. Click the "Create A New Domain" button.
    4. In the "Domain" text box, enter the custom domain name to add as an alias (eg. your.custom-domain.com).
    5. Ensure that the "Share document root (/home/username/public_html/sendy) with “your-main-domain.com”." option is selected.
    6. Click the "Submit" button.

    If you are not using cPanel, please contact your hosting provider on how to add an alias.

    If you are using a cloud server where you access your server via SSH, you'd need to add a ServerAlias your.custom-domain.com into your VirtualHost.

    Please see the example below:

    <VirtualHost *:80>												  	
        ServerName your-main-domain.com												  	
        ServerAlias your.custom-domain.com												  	
        DocumentRoot /var/www/html												  	
        ErrorLog /var/log/error_log												 
    </VirtualHost>

When you first signup for an AWS account, your Amazon SES account will be in 'Sandbox mode'. In sandbox mode, you can only send emails to email addresses and domains that you've verified in your Amazon SES console. Also, your daily sending limit is only 200 emails per day. Hence, you need to request Amazon to move your Amazon SES account out of sandbox mode, so that you can send emails to a larger number of people and also to any email addresses and domains you want.

The following is a guide on how to fill up the request form.

  1. Visit the 'Request production access' request form.

    Mail type: Select either 'Marketing' or 'Transactional'

    Website URL: Enter your website's URL. Your website helps Amazon understand what kind of content you plan to send.

    Check the checkbox to agree to their terms, then click the 'Submit request' button to submit your request.

  2. You will usually receive a respond back from Amazon asking you for more information about your use case. In your reply, write who you're going to send emails to and how you built your list. Amazon wants to know that you'll only send emails to people who signed up to receive them. The details that gives you a good chance of approval are:

    • To attach a sample email that you have sent before, so they can see the kind of content you'll be sending with Amazon SES.
    • Give them the link to your website (a working website so they can understand the nature of your business)
    • How did you build your list? (they won't approve if they know or suspect you purchased your list)
    • How often do you send email?
    • How you maintain your recipient lists, and how you manage bounces, complaints, and unsubscribe requests - You can say you are using Sendy.

If you already have production access for your Amazon SES account (out of sandbox mode), you can request Amazon to raise your daily sending limit to a larger number if you need.

The following is a guide on how to raise your Amazon SES daily sending limit.

  1. Visit Amazon SES's Service Quotas dashboard.

    Select the 'Region' where your Amazon SES account is in production mode.

    After you've selected a region, check the radio button next to 'Sending quota'. Then click the 'Request quota increase' button.

  2. A modal window similar to the screenshot below will appear. Enter a number that you want to increase your daily sending limit to. Then submit your request by clicking the 'Request' button at the bottom.

  3. Amazon will respond to your request in one business day.



CSV import

Just like sending performance, the speed and performance of bulk importing subscribers using CSV files is dependant on the capability of the server you are using.

Tip 1

Try increasing the following values in your server's php.ini. Contact your hosting support if you're unsure how to do this.

  • upload_max_filesize
  • post_max_size
  • memory_limit
  • max_input_time
  • max_execution_time (set to 0 so that execution won’t time out indefinitely)

Don't forget to reboot Apache after modifying the above values in your server's php.ini so that the changes take effect.

Tip 2

Or add the following lines to your Sendy's .htaccess file after the last line of code. Please note that your server's PHP should run as 'Apache module' and not 'CGI mode' otherwise the following lines will not have any effect. Please contact your web hosting support if you're unsure.

php_value upload_max_filesize 1024M
php_value post_max_size 1024M
php_value memory_limit 1024M
php_value max_execution_time 0
php_value max_input_time 9999

Tip 3

Alternatively, try splitting your huge CSV file into several smaller sized CSV files and import them one after another.

Version 6.0 and above

Simply click the 'Stop' button on the list item to stop the import.


Version 5.2.6 and above

If the list you're currently importing a CSV file into has zero subscribers, you can just delete the list, then re-create the list.

Otherwise, if your list has existing subscribers, do the following to stop a CSV import that's currently importing:

  1. Login to your server via FTP and delete the CSV in /uploads/csvs/ folder
  2. Login to your MySQL via phpmyadmin, go to lists table and change the value of prev_count, currently_processing and total_records to 0

The CSV import will stop.

If your CSV import is stuck at 0%, the cron job that you previously setup for import-csv.php is not working, hence it's not executing the import-csv.php script that in turn starts the CSV import.

You'd need to check that your cron job is setup correctly. To see the cron job setup instructions again for import-csv.php:

  1. Visit https://your_sendy_installation_url/reset-cron.php to clear the false positive that a cron job has been setup
    (replace https://your_sendy_installation_url with your own Sendy installation URL).
  2. When you're at the 'Add subscribers' page in any list, you'll see the cron job setup instructions, follow the cron job setup instructions to setup your cron job
  3. If you're unsure whether your cron job is setup properly, check with your hosting support to see if there're any issues with the cron job you've setup

Alternatively, you don't have to setup a cron job for CSV import. Perform only Step 1 above, then import your CSV.




Creating and sending email campaigns

Your server's firewall

Please check with your host if your server has a firewall blocking incoming connections. If so, request your host to whitelist 'amazonaws.com' in their firewall. If your host needs the IP address to whitelist, here's Amazon's documentation on getting the IP range. The reason why it's showing 'PendingConfirmation' is because Amazon can't execute the /includes/campaigns/bounces.php and /includes/campaigns/complaints.php scripts as a result of your server's firewall blocking incoming connections.

Once done, delete the two SNS subscriptions created by Sendy in your Amazon SNS console. When you visit the 'Define recipients' page in Sendy (the page where you select lists to send your campaign to), Sendy will automatically re-create the two SNS subscriptions again. These SNS subscriptions should no longer be in 'PendingConfirmation' status.


mod_security

Your server may have mod_security turned on and it's falsely triggering when Sendy tries to make connections with Amazon SNS via the API. Please contact your hosting support to turn off mod_security (entirely or just for your Sendy directory) to resolve this issue.

  • This article explains how to turn off mod_security for a single directory.
  • This article explains how to disable mod_security via cPanel or a .htaccess file.

You may be getting a '403 Forbidden Error' or 404 error due to one of the follow reasons:

mod_security

Your server has mod_security turned on and it's falsely triggered. Please contact your hosting support to turn off mod_security (entirely or just for your Sendy directory) to resolve this issue.

  • This article explains how to turn off mod_security for a single directory.
  • This article explains how to disable mod_security via cPanel or a .htaccess file.

Browser extension inserting code into editor

One of your browser extension may be inserting code into the editor when you were composing your email (example of the most common culprit is 'Grammarly').

  1. Disable all extensions in your browser
  2. Or use a browser that have no extensions installed
  3. Then re-create and send your campaign again

If the error message does not appear anymore, then you’d need to track down this browser extension that inserts code into the WYSIWYG editor when you were creating/editing your campaign and disable it.

Wordfence plugin for Wordpress

If you're running Wordpress with 'Wordfence plugin' installed and enabled, disable the 'Wordfence' plugin and try again.

That’s because magic_quotes_gpc is turned on. Please contact your hosting support to turn it off.

By the way, magic_quotes_gpc has been deprecated in PHP 5.3 and up.

If your campaign has been in 'Preparing' status for more than 5 minutes, this means that the cron job you've setup previously aren't executing the 'scheduled.php' script to start sending.

Check that your cron job is setup correctly to execute the 'scheduled.php' script every 5 minutes. Contact your hosting support to confirm that your cron job is setup correctly to execute the 'scheduled.php' script every 5 minutes if you're unsure.

Here's what you should do if your campaign is currently stuck in 'Preparing' status:

  1. Duplicate the campaign currently stuck in 'Preparing' status to get a new 'Draft' of that campaign
  2. Delete the campaign that's stuck in 'Preparing' status
  3. Visit https://your_sendy_installation_url/reset-cron.php to clear the false positive that a cron job has been setup
    (replace https://your_sendy_installation_url with your own Sendy installation URL).
  4. Click the 'Draft' campaign you duplicated from the stuck campaign from step 1, you'll then see the cron job setup instructions again at the bottom of the next page.
  5. Setup your cron job again, following the instructions carefully this time. If your cron job is setup correctly, the cron job setup instruction box will disappear when you visit the page in around 5 minutes. If it doesn't, your cron job is not working. Please contact your hosting support to confirm that your cron job is setup correctly to execute the 'scheduled.php' script every 5 minutes.

  • Please check your Amazon SES Reputation Dashboard to see if your account status is 'Healthy':

    If it's anything other than 'Healthy', check your email's inbox for Amazon's email for further instructions.

    Here's a list of statuses, what they mean and what to do about it

  • One of your browser extension may be inserting code into the editor when you were composing your email (example of the most common culprit is 'Grammarly').

    1. Disable all extensions in your browser
    2. Or use a browser that have no extensions installed
    3. Then re-create (not just duplicate) and save your campaign again

    If you're now able to send your campaign without getting stuck in 'Sending' status, then you’d need to track down this browser extension that inserts code into the WYSIWYG editor when you were creating/editing your campaign and disable it.

The reason why sending stops periodically in the middle of sending is because your server timed out while sending due to CPU or memory exhaustion. Sendy will detect timeouts and will resume sending where it left off within 5 to 10 minutes. Note that the better the spec of your server, the better Sendy performs which means lesser or 'no' timeouts while sending. Sendy is a self hosted software, how well it performs depends on the kind of server you're running Sendy on. If you want little or no time outs, consider using a VPS or cloud server as compared to shared hosting. Also see this related tip on improving sending performance.

Manually resume sending

If you did not previously setup a cron job for sending using the cron job setup instructions found in the 'Define recipients' page, then you'd need to click the 'Resume' button on the campaign item to resume sending.

Auto resume sending with cron job (recommended)

If you had previously setup a cron job for sending, Sendy will automatically resume sending between 5 to 10 minutes time so you don't need to monitor the sending of your campaign by clicking the 'Resume' button manually when sending times out.

To setup a cron job for sending & scheduling of email campaigns, follow the cron job setup instructions note shown at the bottom of the 'Define recipients' page:

Once the cron job has been setup, the cron job will automatically resume sending when your server times out while sending. If sending did not automatically resume, your cron job is not setup correctly. Check with your host that your cron job is setup correctly and it's executing the scheduled.php script every 5 minutes.

Emails are being opened from Gmail or G Suite / Google Workspace. Since January 2014, when emails are opened from Gmail or G Suite / Google Workspace, the country will be registered as USA no matter which country the email is opened from. This is because Gmail and G Suite caches and serves ALL images (including the tracking image) from their US server.

The tracking image that tracks all email activities is opened from Google's US server when the email is opened in Gmail or G Suite / Google Workspace, hence the location is registered as USA.

Apple did the same as well with their new 'Mail Privacy Protection' when they released iOS 15 in September 2021. Apple first routes emails through a proxy server to pre-load message content - including tracking pixels - before serving to readers. Even if readers don’t actually open those emails.

This is the same for all email marketing platforms in the world and not only specific to Sendy. In this time and age, opens tracking needs to be taken with a grain of salt.

The reason why your email goes to spam depends on a multitude of factors.

Emails are sent through Amazon SES. Amazon works day in and out maintaining good relationships with ISPs and constantly weeding out spammers so that deliverability rate is kept at its highest for all users using the service.

If your emails end up in the spam folder, it is likely due to your sender reputation. If the emails you sent has been consistently marked as spam by your recipients, the likelihood of your emails going to the spam folder will be high. If you are sending emails to 'purchased lists' or emails harvested from questionable sources, that explains it.

Spam filters on the receiving end are also very strict in what kind of emails they will put in the inbox. Also note that different ISPs or email service providers have varying levels of spam filtering. Spam filter algorithms varies from providers to providers. Try researching on this topic, eg. google for "spam filters", "how to get pass spam filters" etc.

If you follow email sending best practices, you'll have no problems getting high deliverability rates.

Also, authenticate your sending domain so that the receiving end knows that the email you sent is really from you and not spoofed:

Note: Setting up a custom 'MAIL FROM' domain is optional. If you do setup a custom 'MAIL FROM' domain, then you'd need to setup 'SPF'. Otherwise, you don't need to setup SPF for your sending domain.

Lastly, you can get help from Amazon support representatives with regards to deliverability of your emails at the Amazon SES forums.

You have ONLY_FULL_GROUP_BY enabled in MySQL. You need to disable it. See this thread for more information.

Sending speed depends on various factors. Before continuing, it is a good idea to update your Sendy installation to the latest version.

Server

Sendy only performs as well as the server it is running on. Sendy is a 'bulk email application', almost everything is performed in bulk, from importing CSVs to sending of emails. The larger your volume, the more server resources it uses.

The better the spec of your server, the faster Sendy will perform and the lesser timeouts will occur.

Although Sendy works on 'shared hosting', consider running Sendy on a 'VPS' or 'cloud server' for better performance or if you have a huge volume of subscribers.

If you can, increase your server's memory_limit to a number close to what your server physically supports by editing your server's php.ini.

Server location

You have the option to select the Amazon SES region from which to send your emails, such as US East, US West, EU, and more. It is recommended to choose the region that is closest to the physical location of your hosting server where Sendy is installed. When you send a newsletter, Sendy will transfer your emails to Amazon SES, which will then send them out. Opting for a region that is closer to your server's physical location will result in lower latency and faster sending speed.

Database location

Sendy's MySQL database should be hosted on the same server where Sendy's files are hosted. Some users like to use external databases like 'Amazon RDS', however this is not recommended for Sendy.

Users who use external databases like RDS experiences slower sending speeds and unforeseen issues. RDS is good for 'storing' data but not optimized for quick real time data processing like what Sendy needs.

Sending rate

As Sendy transfers your email in bulk to Amazon SES for sending according to your SES send rate, depending on the capability of your server, your server may have trouble processing huge bulks of emails efficiently if your SES send rate is very high. Lowering your send rate may yield better sending speed and stability. You can lower your sending rate in Sendy's main settings.

Lastly, having your 'Sending rate' in settings unintentionally set as '1 email per second' would cause your emails to send very slowly. Do check your 'Sending rate' in settings to make sure it's set at the speed you want.

Size of your email's HTML

The size of your email plays a part in sending speed as well.

Your email’s HTML code is encoded with 'base64' before being transferred in bulk to Amazon SES for delivery. Base64 encoded code is 33% larger than the original code. Multiply this by your SES send rate in which Sendy base the number of emails to transfer per iteration, larger emails will naturally take a longer time to be transferred over to Amazon SES.

Attachments

Attachments slow down email sending speed because of file size. Even though Sendy supports sending of emails with attachments, it is still recommended to upload your attachment to a file hosting service (eg. Dropbox), then include the download link in your email instead of attaching it directly in the email. You'll get better sending speed and your emails are less likely to end up in your recipient's spam folder. In other words, even if you are able to send through your email with the huge attachment, it is pointless if your email end up in your recipient's spam folder.

Queue table

The 'queue' table where Sendy temporarily store records of sent emails when sending a campaign may be filled with lots of outdated records. Try emptying the 'queue' table when no campaigns are currently sending by visiting https://your_sendy_installation_url/clear-queue (replace https://your_sendy_installation_url with your own Sendy installation URL).

Also, rebooting your server will help free up server memory which may result in faster sending speeds.

First of all, make sure Sendy's .htaccess file was uploaded to Sendy's directory.

By default all files under /var/www ignore the .htaccess file. To fix it, change AllowOverride None to AllowOverride All in Ubuntu's default config file so that Sendy's .htaccess file is not ignored by Ubuntu. Follow the instructions below:

sudo vim /etc/apache2/sites-available/default

Note: Sometimes this directive is in one of the other site files defined in this directory or in the /etc/apache2/apache2.conf file.

In the following section change AllowOverride None to AllowOverride All.

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>

Also, if you need to use rewrite rules you need to enable them first. You do that with the following command.

sudo a2enmod rewrite

Prior to running that command you may get an error similar to the following.

[Tue Apr 14 14:23:34 2009] [alert] [client 127.0.0.1] /var/www/wiki/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

Finally, don't forget to restart Apache.

sudo /etc/init.d/apache2 restart

or

sudo systemctl restart apache2

Source: https://www.joeldare.com/wiki/linux:using_.htaccess_on_ubuntu

The solution is to remove ONLY_FULL_GROUP_BY from 'sql_mode' in MySQL. Please see instructions by 'Zack' on this thread on removing ONLY_FULL_GROUP_BY from 'sql_mode' in MySQL.




Translation

Sendy uses gettext extension for PHP for translation. On Debian, you need to configure locales for your Debian based server.

Please see this article on configuring locales for your Debian based server → https://people.debian.org/~schultmc/locales.html. Once done, your Sendy installation should be able to load the new language you imported.

Sendy uses gettext extension for PHP for translation. On Ubuntu, you need to add proper locales to your system first.

Please see this post or this post for more details.




Other FAQs

Sendy provides you with a subscribe form HTML code you can embed anywhere on your website.

  1. Go to 'View all lists' on the left sidebar
  2. Select your desired list
  3. Click 'Subscribe form' at the top right to get the HTML code

You can also subscribe users programmatically via Sendy's 'Subscribe' API.

  1. Go to 'View all lists' on the left sidebar
  2. Select your desired list
  3. Click 'Autoresponders' at the top of the screen

  1. Go to 'View all lists' on the left sidebar
  2. Select your desired list
  3. Click 'Segments' at the top of the screen

This is due to a webkit issue, only happens in Chrome or Safari.

  • On a Mac, press 'Shift' and click the refresh button at the same time to force the font icons to load.
  • On Windows, press 'Ctrl + F5' to force the font icons to load.

  1. Move Sendy's files to the new server
  2. Move your MySQL database as well (export your current Sendy MySQL database as .sql file and import it into your new database using phpmyadmin or any other methods you like)
  3. Open the script /includes/config.php and update the APP_PATH and MySQL details to reflect the new installation
  4. If the domain name of your new server is different from that of your previous server, please update your Sendy licensed domain at http://sendy.co/#forms.
  5. Delete ALL of Sendy's SNS 'Topics' and 'Subscriptions' in your Amazon SNS console. Sendy will automatically re-create them the next time you're at the 'Define recipients' page with the updated endpoints
  6. Re-setup your cron jobs on your new server. Visit https://your_sendy_url/reset-cron and click the 'reset' button to clear the false positive that cron jobs have been setup. You'll then see the cron job setup instructions again, where they should be set up.

Troubleshooting & Support

Please visit the troubleshooting page for help information as well as quick answers to common issues.

Sendy API

View Sendy's API documentation, download example scripts and browse third party resources & integrations.

Translate Sendy

View our documentation on how to translate Sendy into your own language.

Join our newsletter

We send occasional emails with an opt-out link.
See our privacy policy.

Subscribe