Email Sending Issues
A test email has not been successfully sent to the email address…
“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 of receiving this error message 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 page.
- Schedule a campaign and send it to yourself.
- Enable the debugging function through /Settings/ Addons Settings/ page. If the displayed icons are crosses instead of ticks under “Debugging Management”, click on them to install and/or enable the addon module.
This will generate debug log files, which can be analyzed to determine the root cause of the error. Once you have discovered the cause and resolved the error, do not forget to disable the debugging function and delete any of the debug log files.
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.
Warning: mail() [function.mail]: SMTP server response: 503 This mail server requires authentication when attempting to send to a non-local email address
This occurs as a result of using the php mail() command – which then sends it through the SMTP server configured in your php.ini file.
To resolve this, set up and use “SMTP authentication” from the /Settings/Email Settings page. Then enter the appropriate details in the “Mail Server Details”.
Warning: mail() [function.mail]: SMTP server response: 550 5.7.1 Unable to relay
Your mail server is blocking you from sending emails outside of your domain. You need to set up the SMTP authentication to allow sending 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.
To resolve this issue, you’ll need to verify your SMTP server settings, authentication details, and IP address restrictions. If you are still having trouble, consider contacting your mail server administrator or email service provider for further assistance..
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 inform 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. 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 it should be replaced by the name of the user that the web server is running as. For example, if the web server is running as htdocs, add the line:
Once this is done, restart Sendmail and you should no longer see that warning on mails going out from your web server.
You still use the venerable sendmail?
File and Directory Permissions
I am getting write errors when trying to create email campaigns, templates, autoresponders etc. What could be wrong?
Example of the errors:
The modified settings have not been saved.
The destination directory is not writable. Please check the permissions on that directory.
Permission denied; Unable to make directory to archive the newsletter.
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.
If your permissions are not set correctly, you can either modify your file permissions by setting the folder and subfolders to CHMOD 775 on a Unix server, make sure the owner of the directory is the same userid the webserver is running as or talk to your host to see if they can disable Safe-Mode and if they can set the folder permissions correctly for you.
My server says that it doesn’t allow spaces in folder / file names. What should I do?
The folders in /admin/resources/email_templates/ can be renamed to omit the spaces.
For example, you can rename Business/Scientific (2 Columns) to be Business/Scientific_2_Columns and Interspire Email Marketer will still be able to read them.
Disk quota exceeded (122)
You need to clean your server’s files because there is no more room for new ones to be created.
Import subscriber hangs / call to undefined function mb_strtolower()
This error message is generated by most servers if you do not have the PHP extension “mbstring” when importing contacts/subscribers to Interspire Email Marketer.
You can enable the extension from your PHP configuration file (php.ini), but it will depend on your hosting environment. In case you cannot, 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” for Interspire Email Marketer:
- 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): ini_set(‘max_execution_time’, ‘120’);
- 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.
Fatal error: Trying to clone an unclonable object of class…
Receiving this error message means that the “zend.ze1_compatibility_mode” PHP option is enabled. You or your host must disable this option to fix the problem.
PHP warning: Notice: A session had already been started – ignoring session_start().
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
Fatal error: Call to undefined function: mysql_connect()
The 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.
PHP Fatal error: Allowed memory size of XXXXXXXX bytes exhausted
This error occurs if you are trying to send an email that uses more than the allowed limit of memory. If you are seeing a php error similar to: “xxxxxxxx bytes exhausted”, 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’);
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.
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 MySQL user’s permissions or create a new user with sufficient privileges before you can proceed with the installation.
Upgrade for ‘banned_emails_add_banid’ failed. Reason: ‘Duplicate column name’
This error occurs if an upgrade has already been executed to a point where these tables are already within the database and the installation did not complete.
Why am I 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’?
The user ‘xxxxx’@’localhost’ does not have access to the database you are using for Interspire is the most common scenario in which this happens.
This error message also displays if you are using cPanel to create MySQL users. You may have forgotten to assign that user to your Interspire Email Marketer database.
To assign the user after you create it, you 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.
Unable to run the following query: create table iem_addons ( addon_id varchar(200) not null primary key…
While installing Interspire you get the following error:
Unable to run the following query: create table iem_addons ( addon_id varchar(200) not null primary key, installed int default 0, configured int default 0, enabled int default 0, addon_version VARCHAR(10) default ‘0’, settings text ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 (Specified key was too long; max key length is 767 bytes)
IEM tries to use charset utf8mb4_general_ci everywhere. This will usually occur if one is running a version of MySQL lower than 5.7.
The solution is to upgrade to MySQL 5.7. If that is not an option you can change to utf8_general_ci everywhere instead of utf8mb4_general_ci. The drawback is that UNICODE support will be limited. Emoji’s will likely not work correctly.
Cron Job Issues
You have enabled cron support, but the system has not yet detected a successful cron job running. Please make sure cron…
“You have enabled cron support, but the system has not yet detected a successful cron job running. Please make sure cron has been set up on your server and is running correctly. This message will disappear once the system detects that the cron job has run successfully.”
This error message means that you have configured Interspire Email Marketer to enable Cron Support in the /Settings/Cron Settings page but have not yet set up cron on your server or it has been set up incorrectly.
Check your cron settings again for incorrect paths, spelling errors, etc. You also have the option to set a cron email output address so you can receive any errors that your cron script detects by email.
I receive an error email from my CRON that looks like ‘bin/sh: /path/to/iem/cron.php’ permission denied. How do I fix this?
This usually means that the path to PHP has not been included 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.
General Errors and Warnings
Warning: fopen(https://www.example.com) [function.fopen]: failed to open stream: Connection timed out
This is generally due to a problem with your server’s firewall. To find out if your connection may be blocked by any settings on your host’s end, you must contact them.
How do I solve an error 400 or an error 501 message?
In most cases these errors are occurring because your server web has ModSecurity enabled to block certain requests from Interspire Email Marketer.
Note: ModSecurity is no longer supported by 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:
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, then you must update the ~/admin/includes/config.php file.
Edit the following 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 in the /Settings/Cron Settings page.