Forum

Thread tagged as: Problem, Forms

some contact form messages not being sent by email

Problem

83 people have filled in the form and had their responses stored in Perch. 2 of these responses (sent on 5th and 19th August) have not been sent on to the site owner by email (they are stored in Perch).

I've checked the client's email account and they have not gone to the spam folder. Looking in Perch there doesn't seem to be anything different about the content in these two entries. I'm wondering if it is something with the hosting rather than Perch causing the problem. The host is looking into it for me.

Setup

I have a multilingual site that has two forms with the same ID (same fields in each form but the labels have different text for each language) so that both sets of responses appear under the same form in the Perch admin. If I send test messages from each language side they both appear in Perch and get sent on by email. This site has Perch 2.4.9 with Forms 1.7 (I know a little out of date but don't want to add in interface changes with Assets for this client just yet).

Form Templates

English


<h2><perch:content id="heading" type="text" label="Heading" required="true"/></h2> <perch:content id="intro" type="textarea" label="Intro" markdown="true" size="m" required="true"/> <h2>Online Form</h2> <p>Fill in the online form and we will get back to you as soon as possible.</p> <perch:form id="contact" method="post" app="perch_forms"> <div> <perch:label for="name">Name<span class="form__required">*</span></perch:label> <perch:input type="text" id="name" required="true" label="Name" /> <perch:error for="name" type="required"> <p class="form__error">enter your name</p> </perch:error> </div> <div> <perch:label for="email">Email<span class="form__required">*</span></perch:label> <perch:input type="email" id="email" required="true" label="Email" /> <perch:error for="email" type="required"> <p class="form__error">enter your email address</p> </perch:error> <perch:error for="email" type="format"> <p class="form__error">enter a valid email address</p> </perch:error> </div> <div> <perch:label for="phone">Phone Number</perch:label> <perch:input type="text" id="phone" label="Phone Number" /> </div> <div> <perch:label for="message">Message<span class="form__required">*</span></perch:label> <perch:input type="textarea" id="message" required="true" label="Message" /> <perch:error for="message" type="required"> <p class="form__error">enter your message</p> </perch:error> </div> <div> <perch:input type="submit" id="submit" value="Send Message" /> </div> <perch:success> <p class="form__success"><perch:content id="success" type="text" label="Thank you message" size="xl" required="true"/></p> </perch:success> </perch:form>

French


<h2><perch:content id="heading" type="text" label="Heading" required="true"/></h2> <perch:content id="intro" type="textarea" label="Intro" markdown="true" size="m" required="true"/> <h2>Formulaire en ligne</h2> <p>Remplissez le formulaire en ligne et nous vous répondrons dès que possible.</p> <perch:form id="contact" method="post" app="perch_forms"> <div> <perch:label for="name">Nom<span class="form__required">*</span></perch:label> <perch:input type="text" id="name" required="true" label="Name" /> <perch:error for="name" type="required"> <p class="form__error">saisissez votre nom</p> </perch:error> </div> <div> <perch:label for="email">Email<span class="form__required">*</span></perch:label> <perch:input type="email" id="email" required="true" label="Email" /> <perch:error for="email" type="required"> <p class="form__error">saisissez votre adresse email</p> </perch:error> <perch:error for="email" type="format"> <p class="form__error">saisissez une adresse email valide</p> </perch:error> </div> <div> <perch:label for="phone">Numéro de téléphone</perch:label> <perch:input type="text" id="phone" label="Phone Number" /> </div> <div> <perch:label for="message">Message<span class="form__required">*</span></perch:label> <perch:input type="textarea" id="message" required="true" label="Message" /> <perch:error for="message" type="required"> <p class="form__error">saisissez votre message</p> </perch:error> </div> <div> <perch:input type="submit" id="submit" value="Envoyez votre message" /> </div> <perch:success> <p class="form__success"><perch:content id="success" type="text" label="Thank you message" size="xl" required="true"/></p> </perch:success> </perch:form>

Diagnostics


PERCH INFORMATION Perch: 2.4.9 Production mode: Production (100) Installed apps: content (2.4.9), perch_forms (1.7), perch_backup (1.2) DB driver: PDO DB tables: perch2_content_index, perch2_content_items, perch2_content_regions, perch2_content_resources, perch2_forms, perch2_forms_responses, perch2_navigation, perch2_navigation_pages, perch2_page_templates, perch2_pages, perch2_resources, perch2_settings, perch2_user_privileges, perch2_user_role_privileges, perch2_user_roles, perch2_users Users: 2 App runtimes: <?php include(PERCH_PATH.'/core/apps/content/runtime.php'); include(PERCH_PATH.'/addons/apps/perch_forms/runtime.php'); ?> Editor plug-ins: markitup H1: e92db0d6eb3043f3267533039a602786 L1: 1b2582ebd3d9695010bf0055232dd9e1 headerColour: #ffffff content_singlePageEdit: 1 helpURL: siteURL: / hideBranding: 1 content_collapseList: 0 lang: en-gb update_2.4.9: done latest_version: 2.5.3 on_sale_version: 2.6 headerScheme: light dashboard: 0 hide_pwd_reset: 0 content_hideNonEditableRegions: 0 content_frontend_edit: 0 logoPath: /perch/resources/fransons-logo.png perch_backup_mysqldump_path: /usr/bin/mysqldump PERCH_DEVELOPMENT: 10 PERCH_STAGING: 50 PERCH_PRODUCTION: 100 PERCH_DB_USERNAME: fransons_user PERCH_DB_SERVER: localhost PERCH_DB_DATABASE: fransons_perch PERCH_PRODUCTION_MODE: 100 PERCH_DB_PREFIX: perch2_ PERCH_TZ: Europe/Paris PERCH_EMAIL_FROM: gary@fransons.fr PERCH_EMAIL_FROM_NAME: Fransons PERCH_LOGINPATH: /perch PERCH_PATH: /home/fransons/public_html/perch PERCH_CORE: /home/fransons/public_html/perch/core PERCH_RESFILEPATH: /home/fransons/public_html/perch/resources PERCH_RESPATH: /perch/resources PERCH_HTML5: 1 PERCH_ERROR_MODE: DIE PERCH_DATE_LONG: %d %B %Y PERCH_DATE_SHORT: %d %b %Y PERCH_TIME_SHORT: %H:%M PERCH_TIME_LONG: %H:%M:%S PERCH_DEBUG: PERCH_PREVIEW_ARG: preview PERCH_TEMPLATE_PATH: /home/fransons/public_html/perch/templates PERCH_DEFAULT_DOC: index.php PERCH_DEFAULT_EXT: .php PERCH_RWD: PERCH_HTML_ENTITIES: PERCH_SSL: PERCH_AUTH_PLUGIN: PERCH_DB_CHARSET: utf8 PERCH_DB_PORT: PERCH_DB_SOCKET: HOSTING SETTINGS PHP: 5.4.27 Zend: 2.4.0 OS: Linux SAPI: cgi-fcgi Safe mode: not detected MySQL client: mysqlnd 5.0.10 - 20111026 - $Id: c85105d7c6f7d70d609bb4c000257868a40840ab $ MySQL server: 5.5.37-cll Extensions: Core, date, ereg, libxml, openssl, pcre, sqlite3, zlib, bcmath, bz2, calendar, ctype, curl, dom, enchant, hash, fileinfo, filter, ftp, gd, gettext, SPL, iconv, session, intl, json, mbstring, mcrypt, standard, mysql, mysqli, mysqlnd, apc, pspell, Reflection, imap, SimpleXML, snmp, soap, sockets, exif, tidy, tokenizer, wddx, xml, xmlreader, xmlrpc, xmlwriter, xsl, zip, cgi-fcgi, PDO, pdo_sqlite, pdo_mysql, Phar, timezonedb, memcache, ionCube Loader, Zend Guard Loader GD: Yes ImageMagick: No PHP max upload size: 256M PHP max form post size: 256M PHP memory limit: 256M Total max uploadable file size: 256M Resource folder writeable: Yes Session timeout: 24 minutes Native JSON: Yes Filter functions: Yes Transliteration functions: Yes DOCUMENT_ROOT: /home/fransons/public_html GATEWAY_INTERFACE: CGI/1.1 HTTP_ACCEPT: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 HTTP_ACCEPT_ENCODING: gzip,deflate,sdch HTTP_ACCEPT_LANGUAGE: en-US,en;q=0.8,en-GB;q=0.6 HTTP_CONNECTION: keep-alive HTTP_COOKIE: _ga=GA1.2.181502841.1407221805; cmsa=1; PHPSESSID=0281bd01b1f3e3a96aecf3f70577e1b8 HTTP_HOST: fransons.fr HTTP_REFERER: https://fransons.fr/perch/core/settings/ HTTP_USER_AGENT: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 PATH: /bin:/usr/bin REDIRECT_STATUS: 200 REMOTE_ADDR: 2.125.230.14 REMOTE_PORT: 53339 REQUEST_METHOD: GET REQUEST_URI: /perch/core/settings/diagnostics/ SCRIPT_FILENAME: /home/fransons/public_html/perch/core/settings/diagnostics/index.php SCRIPT_NAME: /perch/core/settings/diagnostics/index.php SERVER_ADDR: 143.95.98.244 SERVER_ADMIN: webmaster@fransons.fr SERVER_NAME: fransons.fr SERVER_PORT: 80 SERVER_PROTOCOL: HTTP/1.1 SERVER_SOFTWARE: Apache UNIQUE_ID: U-WSSMZZfjsAAHi9bbgAAAAB PHP_SELF: /perch/core/settings/diagnostics/index.php REQUEST_TIME_FLOAT: 1408602696,86 REQUEST_TIME: 1408602696
Tom Bedford

Tom Bedford 3 points

  • 7 years ago
Drew McLellan

Drew McLellan 2638 points
Perch Support

I think the far more likely scenario is that they've not been received, rather than not been sent.

Is there anything about the content of the emails that might cause them to be rejected along the way?

The messages are very similar to others that do arrive - name, phone, email and message fields all filled in.

I tried recreating the messages exactly and they didn't come through on the email.

It seems to be the "send from" email address causing the problem. In the form settings I set the "send from" address to the {email} field so that messages can be easily replied to. With these settings if the email address entered ends in @aol.com or @yahoo.com then the messages appear in Perch but do not arrive in the client's email inbox.

If I change the settings, leaving the "send from" address blank then the messages do arrive. However, the "sent from" address is the default email address for that site meaning the client can't just hit "reply" to respond as the reply would be sent to himself.

Is it possible to set a "reply to" address in Perch so the email can be sent from the server, but reply to the sender's email given in the contact form?

Drew McLellan

Drew McLellan 2638 points
Perch Support

There's no option for a reply-to header at the moment, but it's planned.

Thanks Drew.

Hosting has got back to me, both missing emails were sent from the server but delivery failed with the errors:

@yahoo.com T="Mail delivery failed: returning message to sender"

@aol.com 521 5.2.1 : AOL will not accept delivery of this message.

Removing the "send from" address is a work around for now, having "reply-to" would be ideal - great that it's planned.