Community

FormIt not sending

Hi all,

I’ve not used FormIt before and wanted to set it up. I’ve installed the plugin and am following the example on the RTFM.

For now I’ve removed validation and recaptcha, but it’s still not working. The form renders but nothing gets sent. No error messages either.

My snippet and chunk calls are as such:

    [[$ContactForm]]

    [[!FormIt?
     &hooks=`email,redirect`
     &emailTpl=`EmailTpl`
     &emailTo=`me@gmail.com`
     &redirectTo=`7`
   ]]

My form is:

[[!+fi.validation_error_message:notempty=`<p>[[!+fi.validation_error_message]]</p>`]]

<form action="[[~[[*id]]]]" method="post" class="form">
    <input type="hidden" name="nospam" value="" /> 
    <label for="name">
        Name:
        <span class="error">[[!+fi.error.name]]</span>
    </label>
    <input type="text" name="name" id="name" value="[[!+fi.name]]" />
    <label for="email">
        Email:
        <span class="error">[[!+fi.error.email]]</span>
   </label>
    <input type="text" name="email" id="email" value="[[!+fi.email]]" /> 
    <label for="subject">
        Subject:
        <span class="error">[[!+fi.error.subject]]</span>
    </label>
    <input type="text" name="subject" id="subject" value="[[!+fi.subject]]" />
    <label for="text">
        Message:
        <span class="error">[[!+fi.error.text]]</span>
    </label>
    <textarea name="text" id="text" cols="55" rows="7" value="[[!+fi.text]]">[[!+fi.text]] . 

My EmailTpl is simply:

<br />[[+name]] ([[+email]]) Wrote: <br /> 
[[+text]]

Would anyone know what I am doing wrong?

1 Like

Just to be sure: FormIt is installed?

Hi @meltingdog

Formit deppends on the e-mnail settings defined on Modx settings.
Did you check the e-mail settings in order to ensure that you defined a smtp server, username, password, outgoing port and SSL (if needed)?
If you go to the Formit menu and check your saved submissions, is it listed there?

Then here is an example of mine so you can guide through.

Form having formit tags:


[[!FormIt?
	&hooks=`email,FormItAutoResponder,FormItSaveForm`
	&formName=`Footer Contact Form`
	&emailTpl=`footerEmailTemplate`
	&emailTo=`email-of yours@mail.com,other-mail-of-yours@mail.com`
	&emailFrom=[[+contact_email]]
	&emailUseFieldForSubject=`1`
	&validate=`
		contact_email:email:required:maxLength=^75^,
		subject:required,
		contact_message:required`
	&successMessage=`<script>window.alert("Your contact was sent successfully");destroyScreenDimmer();</script>`
    &validationErrorMessage=`<script>window.alert("Validation errors were found. Please try again");destroyScreenDimmer();</script>`
	&fiarTpl=`footerEmailAutoResponder`
    &fiarSubject=`Your message was sent successfully`
    &fiarFrom=`do-not-reply@mail.com`
    &fiarFromName=`Your Website Name - Auto-Mailer`
	&fiarToField=contact_email
	&fiarReplyTo=[[+contact_email]]
	&fiarBCC=`email-of yours@mail.com,other-mail-of-yours@mail.com`
]]

[[!+fi.validation_error_message:notempty=`[[!+fi.validation_error_message]] ([[+errors]])`]]
<form action="[[~[[*id]]]]#footerForm" method="post" class="form" name="contact_form" id="contact_form" autocomplete="false" enctype="application/x-www-form-urlencoded" role="form" data-toggle="validator">

	<input type="text" name="contact_email" id="contact_email" placeholder="E-Mail" 
		required="required" class="newsletter-input blue-color d-block w-100 px-3 py-2 mb-2"/>

	<select name="subject" id="subject" required="required" class="newsletter-input d-block w-100 px-3 py-2 mb-2 blue-color">
	  <option value="" disabled selected>-- Choose an option --</option>
	  <option value="Suggestions">Suggestions</option>
	  <option value="Question">Question</option>
	  <option value="Information request">Information request</option>
	  <option value="Change/Improvement">Change/Improvement</option>
	  <option value="Malfunction">Malfunction</option>
	</select>
	
	<textarea name="contact_message" id="contact_message" rows="3" cols="30" placeholder="Message"
		required="required" class="newsletter-input blue-color d-block w-100 px-3 py-2 mb-2"></textarea>

	<div class="d-block text-right pt-1">
		<input type="submit" class="button-simple button-blue text-center text-white text-uppercase font-weight-bold px-5 py-2" value="Send" name="BottomSend" form="contact_form" onclick="javascript:activateScreenDimmer()" />			
	</div>
	[[!+fi.successMessage:notempty=`[[!+fi.successMessage]]`]]
</form>

Then the footerEmailTemplate.tpl will be the e-mail template sent to you having all details, and the footerEmailAutoResponder.tpl will have the HTML of the e-mail sent to your customer informing that the contact was received.

Here is an example of footerEmailTemplate.tpl:

						<tr>
							<td valign="top" align="left" colspan="2">
								<br /><br />
								<b>E-Mail: </b>[[+contact_email]]<br />
								<b>Subject: </b>[[+subject]]<br />
								<hr />
								<b>Message: </b><br /><pre>[[+contact_message]]</pre><br/><br/><hr />
							</td>
						</tr>

If the receiver of this e-mail replies, it will reply to your mailbox as defined above.
Same applies to the footerEmailAutoResponder.tpl

						<tr>
							<td valign="top" align="left" colspan="2">
								This is the information that you sent:<br /><br />
								<b>E-Mail: </b>[[+contact_email]]<br />
								<b>Subject: </b>[[+subject]]<br />
								<hr />
								<b>Mensage: </b><br /><pre>[[+contact_message]]</pre><br/><br/><hr />
							</td>
						</tr>

Hope it helps somwhow.

Please ping us again if you need more help :wink:
Cheers

1 Like

I’d start by installing QuickEmail and adding the following to a resource to see if email sending is configured properly:

[[!QuickEmail? &debug=`1`]]

If sending email doesn’t work, the email hook fails, and processing stops there.

1 Like

Check your SMTP settings… I had same issue. SMTP was not set correctly.

Try QuickEmail, if it sends try to remove a parameter and test again till it works. Also try the minimum call on the website:

[[!FormIt?
&hooks=recaptcha,spam,email,redirect
&emailTpl=MyEmailChunk
&emailTo=user@example.com
&redirectTo=123
]]

Sorry for the late reply - Yes it is.