Import subscriber hangs / call to undefined function mb_strtolower()
Email Marketer requires the PHP extension ‘mbstring’ for the import contacts feature. If you do not have the extension most servers will generate the error message:
call to undefined function mb_strtolower()
You can enable the extension from your PHP configuration file (php.ini), but depending on your hosting environment you may need to contact your server provider or system administrator for assistance.
Fatal error: Maximum execution time of 60 seconds exceeded
To work around this error message you have to increase the PHP configuration directive ‘max_execution_time’. Take the following steps to increase max_execution_time for Email Marketer specifically:
- Open the file /admin/com/init.php
- Around line 217 create a new line and input the following code (120 is the time limit in seconds):
- Save changes to server
Note: max_execution_time can also be found in your server’s PHP.ini file but the above code will override it.
How do I solve an error 400 or an error 501 message?
In most cases these errors are occurring because your server is using ModSecurity to block certain request from Interspire Email Marketer.
You can solve these errors by disabling ModSecurity for your domain. If you do not want to do any file editing then you can request that ModSecurity be disabled by your web hosting provider. Otherwise, you can disable ModSecurity by creating a .htaccess file in your domain’s root directory. Populate the .htaccess file with this data:
A test email has not been successfully sent to the email address.
If you receive this error:
“A test email has not been successfully sent to the email address [email protected]: Unable to connected to mail server: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.”
The most likely cause is due to your server’s inability to connect to the SMTP server. Some common causes of this connection failure are:
- Linux SE
Another common cause of this connection failure is that PHP can have separate permissions for the execution of scripts via the command line (e.g. invoked via CRON) and the execution of scripts via the web-server (e.g. invoked via a web browser). As such, a script can still lack the necessary permissions, even if you can invoke the script via a web browser.
To test for any of the above conditions you can do the following:
- Send yourself a test email from ‘Settings’ -> ‘Application Settings’. If the result is unsuccessful, then..
- Schedule a campaign, and send it to yourself. If the result is unsuccessful, then..
- Enable the debugging function for the file /admin/com/ext/interspire_email/email.php.
To enable the debugging function for the /admin/com/ext/interspire_email/email.php, you need to change the following line of code:
Line 339 var $Debug = false;
Line 339 var $Debug = true;
This will generate debug log files, which can be analyzed to determine the root cause of the error. You will find these log files in the /admin/temp directory. Once you have discovered the cause, and resolved the error, do not forget to disable the debugging function and delete any of the log files.
Fatal error: Trying to clone an uncloneable object of class…
If you receive this error message then it means the "zend.ze1_compatibility_mode" PHP option is enabled. You (or your host) must disable this option to fix the problem.
The modified settings have not been saved.
This usually means your admin/includes/config.php file is not writeable by the web server.
Interspire Email Marketer requires that the admin/includes/config.php file and the admin/temp/ folder (and all sub-folders) are writeable by the web server. One way to achieve this is by setting them to CHMOD 775 (sometimes 777).
When I send an email the file extension gets converted to .dat
Please upgrade to the latest release of Interspire Email Marketer as this issue has been resolved.
My server says that it doesn’t allow spaces in folder / file names. What do I do?
The folders in ‘admin/resources/email_templates’ can be renamed to omit the spaces.
For example you can rename Business (Newsletter Layout) to look like Business(NewsletterLayout) and Interspire Email Marketer will still be able to read them. They will be named in SendStudio to reflect what the folder name is.
I receive Notice: Only variables should be assigned by reference errors whenever I login to Interspire Email Marketer. What do I do?
If you receive errors such as the following when you login to Interspire Email Marketer, you need to upgrade your version of Interspire Email Marketer to the latest, as these errors occur with newer versions of PHP (4.4.0 and above).
Notice: Only variables should be assigned by reference in /usr/home/domaincom/htdocs/virtual/domain.com/http/iem/admin/includes/process.php(68) : eval()'d code on line 143
Notice: Only variables should be assigned by reference in /usr/home/domaincom/htdocs/virtual/domain.com/http/iem/admin/includes/process.php(68) : eval()'d code on line 153
Note: PHP 4.3.2 is no longer supported by IEM (or PHP) and we strongly recommend to upgrade to PHP version 7.3 and the latest version of IEM
Warning: mail() [function.mail]: SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local e-mail address
This happens because you are using the php mail() command – which then sends it through the smtp server listed in the php.ini file.
However, when it gets to that server, it’s saying "hey, you’re not sending to me – you’re sending to an external address. I’m not going to let you".
You can do one of two things to resolve this:
- change the smtp server settings to allow relaying from the server’s ip address
- set up & use ‘smtp authentication’ which should allow you to send anywhere. This will most likely be set up on the smtp server already so you just need to go to the Interspire Email Marketer settings page and put in the appropriate details in the ‘SMTP Server’ section.
I get a Warning: cannot yet handle MBCS in html_entity_decode() error in Interspire Email Marketer. How do I fix this?
This is a bug in PHP version 4.3.2:
You will need to ask your web hosting provider to upgrade your version of PHP.
Note: PHP 4.3.2 is no longer supported by IEM (or PHP) and we strongly recommend to upgrade to PHP version 7.3 and the latest version of IEM
Warning: mail() [function.mail]: Failed to connect to mailserver at localhost port 25, verify your SMTP and smtp_port setting in php.ini
This error is because you need to set the SMTP server details on the Interspire Email Marketer settings page.
If you do not know these you will need to contact your host and ask them for these details.
Disk quota exceeded (122)
You will need to clean out your files on your server. You have run out of room to create more files.
The Interspire Email Marketer folders are as clean as they are going to get – Interspire Email Marketer cleans up after itself when you import, export and so on.
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay
Your mail server is blocking it, you do need to set up smtp authentication for it to send to non-local email addresses.
What’s happening is:
- Interspire Email Marketer connects to the mail server
- Your mail server says is it local (one of the domains I look after)
- If yes, accept the email
- If no, then deny the email
If it didn’t deny the email (stop it being sent), then your mail server would be an ‘open relay’ and anyone (including spammers) would be able to send through it.
I have changed the folder that Interspire Email Marketer resides in. Why do I get errors?
If you change the directory that Interspire Email Marketer resides in you then must update the ‘admin/includes/config.php’ file.
Edit the line:
To point to the new folder.
If you have cron set up to run on your server you will need to update it with the new path to your cron file. This can be found in the settings page.
'banned_emails_add_banid' failed. Reason:
'Duplicate column name'
This error occurs because you have already performed the upgrade far enough that the database already contains these tables.
If this occurs in the upgrade from SendStudio 2004 to Interspire Email Marketer you will need to clean out your Interspire Email Marketer database and restore the database to the one that you backed up in an earlier stage of the upgrade.
If you see this in an update from one version Interspire Email Marketer to another you are simply performing the upgrade incorrectly. Different releases of Interspire Email Marketer are to remove any bugs that have been made apparent to us.
To solve this for the later you will simply need to remove the ‘includes/config.inc.php’ file that you would have placed there to initiate the upgrade and replace the ‘admin/includes/config.php’ file that you backed up before performing the upgrade.
I receive an error email from my CRON that looks like ‘bin/sh: /path/to/iem/cron.php’ permission denied. How do fix this?
This usually means that you haven’t included the path to PHP in your CRON setting. It should look something like this:
You will need to contact your ISP or web hosting provider for the correct path to PHP on your server.
I receive a warning inside Interspire Email Marketer that it has not yet detected my CRON running. What does this mean?
If you receive this error message:
You have enabled cron support, but the system has not yet detected a successful cron job running. Please make sure cron has been setup on your server and is running correctly. This message will disappear once the system detects that cron job has run successfully.
It means that you’ve told Interspire Email Marketer to use the CRON option (in the settings page) but not yet setup CRON on your server or it’s been setup incorrectly. This message will go away the first time your CRON runs successfully.
Check your CRON settings again for incorrect paths, spelling errors etc. You can also set a CRON email output address so that you will be emailed any errors that your CRON script detects directly to you.
I am getting the following MySQL error when installing or upgrading: An error occurred while trying to connect to your MySQL database: Access denied for user ‘xxxxx’@’localhost’ – why?
Do you use CPanel to create your MySQL users? If so you may have forgot to assign that user to your Interspire Email Marketer database. Don’t worry though – it’s a common problem and it’s more to do with the bad design of CPanel.
To assign the user after you create it, you’ll need to choose the user from the dropdown in CPanel and also the database you want to assign it to. Select "all" permissions and click the "add" button.
Try installing/upgrading now. It should work OK.
There was a problem running the following queries against your database: CREATE TABLE
If you receive this error when trying to install Interspire Email Marketer you are trying to use a MySQL user that does not have sufficient privileges to create/edit/modify/delete tables.
You will need to increase this users permissions or create a new user that does have sufficient privileges and continue with your install.
The destination directory is not writable. Please check the permissions on that directory.
This error will occur if your ‘admin/temp’ folder and all sub folders are not writable. This is the folder that Interspire Email Marketer uses to store its temporary files so that you can create/edit etc your email campaigns and newsletters.
To solve this problem you simply need to change the folder permissions to CHMOD 757 on the ‘admin/temp’ folder and all sub folders.
I received this error ‘Warning: mkdir(/home/catalog/public_html/admin/temp/user/1)’ . What does it mean?
This error means that you need to set the permissions on the ‘admin/temp’ folder and all sub folders to CHMOD 775 on UNIX servers.
I am getting write errors when trying to create email campaigns, templates, autoresponders etc. What could be wrong?
These errors generally occur if your permissions are not set up correctly. If you have Safe-Mode enabled on your server your permissions may appear to be set up correctly when in fact they are not.
You can upload the file attached here to the ‘admin/temp’ folder in your Interspire Email Marketer installation to test your file permissions.
If your permissions are not set correctly you can follow these steps:
On a Unix server you will have to check your file permissions by setting the folder to CHMOD 775. If this still does not work you should talk to your host to see if Safe-Mode is enabled and if they can set the folder permissions to writable for you.
Once again, if this does not work for you, you will have to talk to your host to see if they can firstly disable Safe-Mode, and if not, if they can set the folder permissions correctly for you.
Warning: mkdir() [function.mkdir]: Permission denied; Unable to make directory to archive the newsletter.
This error means that your ‘admin/temp’ folder and all sub folders within it do not have write permissions. Interspire Email Marketer needs these folders to have CHMOD 775 or equivalent so that it can perform all of its correct functions.
My cron job gives me the error call to undefined function mysql_connect
When your cron job gives me the error
Fatal error: Call to undefined function: mysql_connect() it means that your command line version of php on your server (the one that the cron job is using) does not have mysql support. You need to ask your hosting provider to enable this to fix this error.
'GMT-04:00' doesn't exist (Called from settings.php, line 273)
You need to remove the first 0 for your time zone in the
Your time should be changed from:
My newsletter has the X-Authentication-Warning header. What is it and how can I get rid of it ?
The X-Authentication-Warning header is added by Sendmail when the user sending emails (usually the user the web server is running as) tries to send them as a different user (which is required to set the from and bounce of your emails correctly).
To disable this message you have to tell Sendmail that the web server user is a trusted user. First work out which user your web server is running as (by either checking the httpd.conf or doing a ps -ef or ps aux at the command line). Common users for this might be htdocs, apache, nobody or www-data. Once you know this you need to edit your sendmail.cf file which is normally somewhere under the /etc directory on your server. You can find it on the server by running
find / -name 'sendmail.cf'
Edit this file in your preferred editor and add T where should be replaced by the name of the user that the web server is running as. For example if my web server is running as htdocs I would add the line
Once this is done, restart sendmail and you should no longer see that warning on mail going out from your web server.
I receive a PHP warning: Notice: A session had already been started – ignoring session_start(). How do I fix this?
This problem occurs when your PHP.INI file has session.autostart turned on. You’ll need to turn this off by:
- Editing your PHP.INI file and setting it to off — or contacting your web hosting provider to do this for you
- Placing a .htaccess file in the root of your web directory with the following value
php_flag session.auto_start 0
Warning: fopen(http://www.domain.com) [function.fopen]: failed to open stream: Connection timed out
This is generally due to a problem with your servers firewall. You will need to talk to your host to see if they have any settings that may be blocking your connection.
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set
This is a PHP/server issue as explained on this page from php.net.
You will need to ask your host to look into this for you.
PHP Fatal error: Allowed memory size of XXXXXXXX bytes exhausted
This error occurs if you are trying to send an email that uses more then the allowed limit of memory. If you are seeing a php error similar to: "xxxxxxxx bytes exhausted", then you can increase the allowed memory limit in php to get past the error:
- Open init.php located at /admin/com/init.php for editing
- Go to line 134 (or search for memory_limit)
- Change the ’64’ in ini_set(‘memory_limit’, ’64M’); to a higher value than your error message.
E.g. If your error looks like "67108864 bytes" try something like: ini_set(‘memory_limit’, ‘128M’);