Troubleshooting
- Details
- Category: Simple Email Module
- Published on Saturday, 26 November 2011 16:15
- Written by doug
- Hits: 1284
If your emails are not getting sent:
- Verify that your email addresses are correct
- Upgrade to version 1.7.05+
- Go to Advanced Options and activate Test Mode
- Confirm that there are no errors reported from the mail server
If you see this error message:
Warning: require_once(): open_basedir restriction in effect. File(/usr/share/php/PEAR.php) is not within the allowed path(s): (/tmp:/var/tmp:/home/web/www.example.com/www) in /home/web/www.example.com/www/modules/mod_simpleemailform/CAPTCHA.php on line 22 Warning: require_once(/usr/share/php/PEAR.php): failed to open stream: Operation not permitted in /home/web/www.example.com/www/modules/mod_simpleemailform/CAPTCHA.php on line 22 Fatal error: require_once(): Failed opening required 'PEAR.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/web/www.example.com/www/modules/mod_simpleemailform/CAPTCHA.php on line 22
So the problem rises when the captcha script tries to include the pear script...
Solution: UPGRADE to version 1.7.01 or above
If you see this error message:
Warning: Missing argument 4 for sendResults(), called in <some/directory/path> on line 476 and defined in \path\to\joomla\modules\mod_simpleemailform\mod_simpleemailform.php on line 214
Solution: UPGRADE to version 1.1.12 or above
If you see this error message:
Error: Unable to cleanup old captchas
Warning: file_put_contents(/company/homepages/9/xyz/htdocs/images/captcha/captcha_12345.png) [function.file-put-contents]: failed to open stream: No such file or directory in /company/homepages/9/xyz/htdocs/FurtherIndications/modules/mod_simpleemailform/mod_simpleemailform.php on line 347
Most likely it is because:
(A) You have not configured a directory in which the program can write the CAPTCHA images, or
(B) You have misspelled the directory name, or
(C) You do not have the permissions set properly so that Joomla can write to this directory
Try the following:
- Look carefully at the directory path which is displayed in the error message. Notice, in the example above, "/company/homepages/9/xyz/htdocs/images/captcha/captcha_12345.png" is the file which could not be written.
- Login as the Joomla Adminstrator
- Select Extensions - Module Manager
- Locate and click on the link for the Simple Email Form module
- Look for "Directory to Write Captchas"
- Make sure that the directory path matches the one you see in the error message
(In this example, it would be "/company/homepages/9/xyz/htdocs/images/captcha")
If the module doesn't appear
(Thanks to Chad for this tip)
(A) Make sure the module is enabled (that one has caught me LOTS of time and I wrote the dang module!).
(B) In the module manager, make sure that "Menu Assignments" is set to ALL (or whatever menu the article appears under).
(C) Go into the article which contains the module and make sure you correctly spelled {loadposition user99}
(or whatever user position you chose to use -- doesn't have to be "user99", it could be "emailform" or any other unique word -- BUT ... see note below).
(D) Make sure that whatever user position you chose matches the user position you specified in the module manager
(E) Go to "Extensions" - "Plugin Manager" and make sure that the "Content - Load Module" plugin is enabled.
(Thanks to Lars for this strange quirk)
If you go through all the suggestions above, and the module STILL does not appear, try changing the to something which starts with "user". Some templates are very particular about this. So, for example, if you used {loadposition emailform} change it to {loadposition user99}. Also, make sure that you go to Extensions - Module Manager - Simple Email Form, and change the position to match whatever you just used in the article which invokes the fast and easy email form.
(Thanks to Alzibiff for this tip)
If you see a T_STRING required on line 65 error, check and see if your server is runing PHP 4. This module uses Object Oriented Programming and won't work in PHP 4!
(Thanks to Tom for this one)
When I first installed the {loadposition user99} in an article, I copied the line of code from this page and pasted in into the editor in WYSIWYG mode. The editor inserted some extra html that was not displayed so the code looked OK but would not work. Once I edited the HTML and took out the /span statements, everything worked great. Maybe to is obvious but to noobs like me it all takes extra time. Thanks.
If the CAPTCHA image does not appear
FIRST -- check the tips above and make sure you've gone through all of that!
Q: The permissions on the actual captcha image are not getting set to allow it to display. The directory permissions are OK and when I check the recurse into subdir the captcha image permission update and it becomes visible on my website. How do I control the file permissions on the captcha image?
A: Check with your system adminstrator to make sure that the Joomla user's "umask" value is set properly. This is a file system issue and has nothing to do with the module!
Q: Thanks so much for the quick reply. This is my first Joomla website so I'm climbing a steep learning curve right now. My site is hosted at Network Solutions and they said they are not able to change the unmask parameter for security reasons. It appears that my /images/captcha directory has all the permissions necessary (777) but the image file is not accessible until I manually change the permissions, from 644 to 777. It seems odd that the file does not inherit the directory permissions. I'm kind of stuck at this point so I guess I'll keep hacking until I find a solution.
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpgSqqOt' to '/Attachments/Logo Lettering.png' in /home/www/xyz/modules/mod_simpleemailform/mod_simpleemailform.php on line 157

Upgrade to the latest version (1.1.08 or above). The error occurs when you've implemented Joomla anti-spam security. One of these security measures intercepts any attempt to display a "raw" email address (i.e. This e-mail address is being protected from spambots. You need JavaScript enabled to view it. ) and converts it into a javascript representation. The simple email module does not allow <script> tags and accordingly displays the javascript code instead of the email address. Fixed in 1.1.08.
If you do not receive emails after posting the form:
The Simple Email Form module uses Joomla mail. There are several reasons why you might not be receiving email after posting the form. Please review these steps before asking me for help!!!
- Check your Joomla configuration and make sure you're set up properly for mail
- Does your server have "sendmail"? If not, then PHP mail (and the module) will not work.
- Are you running on a test server which is local? Do you have a full Mail Transfer Agent installed (i.e. exim)?
-- If not, then your server cannot send mail, which means the module won't work. - Is your ISP blocking ports so that you are not able to send mail? (Some of them do, trust me!!!)
-- If so, contact your ISP and resolve the situation
You can click here to download a tool email_test.zip. Unzip the file somewhere off your document root and then run email_test.php. It's a simple PHP email program which you can use to test to see if your server is able to send email from PHP.
If you have problems posting new articles after running the simple email form module:
Upgrade to version 1.1.09 or above.
The problem was due to a bug in earlier versions where the default date/timezone was set to a fixed locale. This was fixed in 1.1.09 by eliminating the setting and using Joomla's built-in date API instead of using straight PHP function calls.
If after posting a form you see mangled text when using international character sets:
Symptom: after posting a form you see something like this: ��α�α� in the input fields.
Solution: Upgrade to 1.1.10 or above
Previous versions used 'htmlentities()' which does not have good support for multibyte character encodings. 1.1.10 switched to 'htmlspecialchars()' which has better support.

