This is a Joomla module which implements a simple email form.
To install, login as the Joomla administrator, and select "Extensions" - "Install/Uninstall".
Browse for the downloaded ZIP file and click "Upload File and Install".
After installation, typical usage would be to configure it to load inside a Joomla article
(as is the case here).
The way to do this is as follows:
Go to "Extensions" - "Module Manager" and select the module.
In the "Details" box, modify "Position" to "user99" (or anything, really)
NOTE: you'll have to type this in manually -- it's not on the list.
In your target article, add this line: "{loadposition user99}"
NOTE: don't put a space between "{" and"loadposition" and also don't put
a space between"user99" and "}"!
If it still doesn't load, go to "Extensions" - "Plugin Manager" and make sure that the
"Content - Load Module" plugin is enabled.
Email checking is pretty loose at the moment; debating whether or not to strengthen it (comments?)
You MUST create the directory where file attachments are stored, and make sure Joomla has rights to write files into this directory. (You could use the Media Manager to do this -- see the next tip.)
You MUST indicate the absolute path to this directory in the configuration. If you are unsure of the exact path, login as a Joomla admin, and go to the Site - Media Manager menu. Under Files you will see the absolute path to where your images are stored. (You could even create an "uploads" folder here, and use the path specified when configuring the Directory to save attachments parameter.)
Requires PHP 5 to work!
Make sure that the Joomla Content - Load Module plugin is enabled
Make sure simple email form module is assigned to the same menu as the the article which contains the module
If you plan to use the CAPTCHA:
You MUST create a directory where the CAPTCHA will be written
If you are unsure of the exact path, login as a Joomla admin, and go to the Site - Media Manager menu. Under Files you will see the absolute path to where your images are stored. (You could even create a "captcha" folder here, and use the path specified when configuring the Directory to write captchas parameter.)
Joomla needs read and writerights to this directory
The directory must be publicly accessible via a URL
I.e. the CAPTCHA directory is /var/www/yoursite.com/images/captcha
the URL would be http://yoursite.com/images/captcha
1.0.8+ version creates CAPTCHA files with prefix "captcha_" and erases old images
Currently, you MUST set the CAPTCHA word length to 8 -- this will change in future releases!
PLEASE don't email me until you've read the documentation on how to make a Joomla module appear inside an article!!!
Ability to control the length of the CAPTCHA word (currently fixed at 8 characters)
Have the name in the "From" field be the customer's name
Ability to control the size of the File Upload field
Ability to populate the text area with a pre-formatted message
Ability to configure the form fields to auto-reset after successful submission
Switch a field from one line to textarea
Change the order of the "mandatory" fields (i.e. From and Subject)
Support for a template to provide pre-formatted HTML emails
The subject field should appear directly over the text area message box. When I enable extra fields they appear below the subject, but above the text area
(thanks to Richard for the last 2 suggestions)
Please help support our programming efforts!
How to Change the CAPTCHA Background Color
1. Login as Joomla admin
2. Select "Extensions - Module Manager"
3. Locate "Simple Email Form" and click on it
4. In the section to the right labeled "Module Parameters" locate "Captcha Background Color"
5. Enter an appropriate HTML color code
Troubleshooting
If emails are not getting sent:
Verfiy that your email addresses are correct
UPGRADE to version 1.7.05+
Activate "Test Mode" and confirm there are no mail server errors
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
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.
OK, so as I'm writing this message, I was testing and have found something new. It looks like if I use the Joomla Preview, the captcha file perms are set to 640 and do not display. If I view from a separate browser session, the permissions are set to 644 and it works. I also tested from a Macbook Pro with Safari and it worked, perms set to 644. Joomla Preview might be the culprit.
If you have errors with attachments
You might see a message like this:
Warning: move_uploaded_file(/Attachments/Logo Lettering.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/www/xyz/modules/mod_simpleemailform/mod_simpleemailform.php on line 157
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
1. Login as your Joomla administrator
2. Go to Extensions - Module Manager and select the simple email form module
3. Under Directory to Save Attachments enter a directory path which exists, and also one in which the module has the rights to create a file.
One recommendation would be to go to the Joomla Media Manager, create a folder for your uploads, and use the path displayed by Joomla.
If you see this appearing after posting a form:
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.
Previous versions used 'htmlentities()' which does not have good support for multibyte character encodings. 1.1.10 switched to 'htmlspecialchars()' which has better support.
Bugs
[2012-02-15 -- thanks to Gregorio]
Hi Doug, I am trying to get your very nice module and I am getting the
> following error message above the form after successfully sending the
> email(see pic below)
> "Invalid address: Invalid address: Invalid address:"
FIXED: version 1.7.04
> Is there any chance you could help me to solve this issue?
[2011-12-19 -- Bruno from Italy!] 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.company.com/www) in
/home/web/www.company.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.company.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.company.com/www/modules/mod_simpleemailform/CAPTCHA.php
on line 22
FIXED in 1.7.01
[2011-08-29 -- Moses from Kenya!] Warning: Missing argument 4 for sendResults(), called in C:\wamp\www\some_path\modules\mod_simpleemailform\mod_simpleemailform.php on line 476 and defined in C:\wamp\www\some_path\modules\mod_simpleemailform\mod_simpleemailform.php on line 214 FIXED in 1.1.12 [2011-07-22 -- thanks to Rui Castro Lobo from Portugal!]I noted a little problem in the email received, the field1 and field2 have the same label (of field2) so I have corrected it. It would be nice that you corrected the original file, for others sake. Thanks. FIXED in 1.1.11 [2011-05-24 -- thanks to Stamatis for point this out with the Greek] i am using your module "Simple Email Form" in my joomla website version 1.5.23. I have installed the module successfully, but i used it in Greek language and when ι write in Greek in the fields, after form has been sent, the Greek letters are shown like "Chinese" Ï�Ï�αÏ�αÏ�. FIXED in 1.1.10 [2011-05-05 -- thanks to Agostino Zanutto for spotting this one!] The bug can be quite serious if timing of posting articles is critical. "... on line 41 of mod_simpleemailform.php you set timezone, without reset to original system tz before exit. This can block publishing of new articles..." FIXED in 1.1.09 [2011-03-26 -- from Tom] Doug, thanks for your nice Joomla extension. Could you check my page at http://www.name-changed-to-protect-the-innocent.com/index.php/mail-list? When the form gets submitted, it yields a couple of errors like: < script language= ' maxlength=255 /> I notice someone else (http://goo.gl/ZQwy9) had the problem, but no solution was posted. FIXED in 1.1.08
[2010-05-19 unconfirmed -- made changes which should fix any upload problems]
After I upload file (file is uploaded) in From field is fragment of code: FIXED in 1.0.5
[2010-07-12 -- from Dean]
I have noticed that your module shows the same captcha in IE/Opera and Firefox when Joomla site cacheing is turned on. However with your module it causes confusion and problems on the submit. The method I am using it is this: I have the module in a spare position called 'contact' and I'm calling it in a content item with {loadposition contact} The form shows up and works in FF. If I open up Opera I see exactly the same captcha. I also see the same in IE. When the form is submitted IE has a wobble and eturns a blank screen, Opera does not like the captcha and tells you so, a page refresh can return the same captcha. I turn off site cacheing and it all works well.
FIXED in 1.0.6
[2010-08-02 -- from Ian]
When CAPTCHA is entered incorrectly, all text below the error message appears in red.
FIXED in 1.0.7
[2010-08-03 -- from Muneca]
error: Warning: rand() expects exactly 2 parameters, 1 given in /hermes/bosweb/web152/b1523/d5.dangerou/public_html/lamunecarocks.com/modules/mod_simpleemailform/mod_simpleemailform.php on line 423
FIXED in 1.0.8
Change language option to type "list" (see http://docs.joomla.org/List_parameter_type)
Added optional Reply-To field
Modified To, CC, BCC to accept multiple values separated by commas or spaces
Version 1.7.01 -- 19 Dec 2011
If CSS class designated, creates xxx_table, xxx_row, xxx_th and xxx_td classes inside form.
Fixed problem with CAPTCHA library: added directory path variable and specified absolute path for require_once statements
Added check and only display error message row if there is a message
Fixed problem from htmlentities display of email address in "from" field: converted '@' into '@'
Version 1.1.12 -- 01 Sep 2011
Converted to OOP
Works on Joomla 1.6 and 1.7
Added Thai translation (thanks to Noona Khongpanit!)
Added space between labels and input fields
Added redirect URL upon successful form submission
Added option to either reset fields or leave info as is after form submission
Version 1.1.12 -- 01 Sep 2011
Fixed bug in line 476 calling sendResults()
Version 1.1.11 -- 24 Aug 2011
Converted field display from htmlentities to htmlspecialchars
Fixed problem in the email received where field1 and field2 have the same label (of field2)
Thanks to Rui Castro Lobo and "drunkenmanwalking" for spotting this bug!
Added an 'auto copy' option which sends a copy to user automatically
Added max length option to fields thanks to Rui Castro Lobo
Version 1.1.10 -- 24 May 2011
Fixed a bug whereby redisplaying input values in posted forms mangled multibyte character display. Determined problem stemmed from limited support for international character sets in the PHP 'htmlentities()' function. Switched to 'htmlspecialchars()'. Thanks to Stamatis for both pointing out the problem as well as confirming that the fix worked.
Version 1.1.09 -- 31 Mar 2011
Added Hebrew translation thanks to Dror Lamdan
Added Turkish translation thanks to Nurettin Acar
Fixed bug where the simple email module sets the default date/timezone to a fixed locale potentially causing problems later when posting new articles, etc. The solution was to replace straight PHP date/time function calls with Joomla date API calls
Version 1.1.08 -- 31 Mar 2011
Added Russian translation thanks to Alex Breems
Fixed bug where the simple email module conflicts with certain Joomla anti-spam security measures. Certain security measures are designed to capture any attempt to display a "raw" email address, and convert it into a spambot unreadable form using javascript. The simple email module has its own security measures which absolutely prevent injecting javascript into any input field! A simple work around was arrived at whereby the email address is rendered as
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
instead of
This e-mail address is being protected from spambots. You need JavaScript enabled to view it
.
"From" field now included in the body of the email message
Version 1.1.07 -- 28 Feb 2011
Added Danish translation thanks to Ernesto
Added Hungarian translation thanks to Polgar Istvan
Version 1.1.06 -- 14 Dec 2010
Added Polish translation -- thanks to Michał Przekopowski
Added German translation -- thanks to Uwe Stockinger
Added Greek translation -- thanks to Nasos Liagos
Fixed bug where a notice of an undefined index was returned + added default length and labels for optional fields 1 - 5
Fixed bug where fields 1 - 5 were not showing up
Fixed incompatibility with certain other Joomla modules due to language translation technique
Version 1.1.05 -- 13 Dec 2010
*** WITHDRAWN -- dont' use!!! ***
Version 1.1.04 -- 30 Oct 2010
Added Italian translation -- thanks to Cristian Lorenzini
Version 1.1.03 -- 19 Oct 2010
Added Estonian translation -- thanks to Lauri Liikane
Version 1.1.02 -- 28 Sep 2010
Body of email message now contains labels + user input data
Version 1.1.01 -- 15 Sep 2010
6 language files are included: Dutch, English, French, Portugese (Brazilian), Spanish, and Swedish
Version 1.1.0 -- 1 Sep 2010
Improved language support using separate INI files
Language files included: English, Spanish, Swedish and Dutch
Captcha images are only deleted if more than 5 minutes old
Added ability to make fields 1 to 5 active, required (mandatory), or not active
There is a new "Allowed Filenames" field in the module configuration which lets you add a list of filename extensions separated by commas; leave blank for all
Added a "text" CAPTCHA for those having difficulty getting image CAPTCHAs configured properly
Added advanced diagnostics which give recommendations for image CAPTCHA settings in case of error
Added parameters which allow you to change the color of "success" or "failure" message instead of just HTML red or green
Error messages appear under the fields they are associated with
Version 1.0.8 EN / SE / ES
Fixed a bug with an improper number of parameters to rand()
Thanks to Muneca Osorio for the Spanish translation!
Version 1.0.7 EN and SE
Fixed bug where when CAPTCHA value was entered incorrectly all text after error message appeared in red
Aligned the "Copy Me" checkbox, and SUBMIT and RESET buttons, with the other input field
Set CAPTCHA to not cache by randomly generating a new filename for each new CAPTCHA
Version 1.0.6 EN and SE
Added PEAR5.php library file to fix the following error seen on Windows servers (thanks Edwin!):
Warning: include_once(PEAR5.php) [function.include-once]: failed to open stream: No such file or directory in D:\Hosting\*******\html\joomla\modules\mod_simpleemailform\PEAR.php on line 766
Warning: include_once() [function.include]: Failed opening 'PEAR5.php' for inclusion (include_path='.;C:\php5\pear') in D:\Hosting\*******\html\joomla\modules\mod_simpleemailform\PEAR.php on line 766
Version 1.0.5 EN and SE
Streamlined file attachment process
Got rid of "Upload" button -- no need for the extra step!
Version 1.0.4 EN and SE
Added "Send Copy to Me" field
Removed slashes in front of ' and " in text area
Added "Reset" button
Internal translation fields for buttons (thanks to Mat and Lars!)
Version 1.0.3
Improved internal language support
Modified CAPTCHA process
Adds prefix "captcha_"
Erases old CAPTCHA files
Now uses native Joomla JFile::write() instead if "file_put_contents()" to write
Version 1.0.2.se
Swedish translation of "front-end" strings
Adjusted date/timezone to "Europe/Stockholm"
Note: administrative back-end is still in English
Contributors: Lars Dahlberg Mats Arvendal
Version 1.0.2
Added left, right and center config option for labels (thanks to Mats for this suggestion)
Version 1.0.2.se is in Swedish (thanks to Lars Dahlberg!).