Frequently Asked Questions

If your question is not listed, please feel free to contact us.





  Fundamental issues


Reason 1. Please check if you have entered a correct email address in the config.php file. (This applies only if you are not receiving emails through the contact.php file.) Note: It is possible that emails are being delivered through the contact.php file, but not through the test.php file. Therefore, please complete the config.php file with your email address - see installation instructions.

1.1 Please use a domain-specific email address in the format: info@your-domain.com. Unfortunately, some hosting providers (e.g. Hosteurope, IONOS) block external email providers such as Yahoo, GMX, Gmail, WEB.DE, or T-Online. While this is not the case with all hosting providers yet, it is unfortunately becoming more common in 2024.

1.2 Hosteurope, Strato, IONOS (1&1), and dogado customers: Please take note of this information! (← Possibly, the information may also be relevant for other hosting providers!)

Reason 2. Some hosting providers require that the corresponding email address (which you use for the test.php or which is entered in the config.php file) is also registered in the customer area or control panel. Please contact the support of your hosting provider.

Reason 3. Check if the email has been marked as spam in your email program (e.g., Outlook). Note: For the test email (test.php), the sender is "no-reply@kontaktformular.com". In certain spam filter settings, the word "no-reply" is automatically flagged as spam.

Reason 4. Local web server (http://localhost): Please test the PHP mail function on the server of a reputable hosting provider as a general practice. Local web servers (e.g., Xampp) often do not have a mail server installed. Moreover, they are frequently misconfigured, which leads to incorrect invocation of the PHP mail function.

Reason 5. Messages from users who enter a Yahoo, iCloud, Hotmail, Gmail, T-Online, or AOL email address in the contact form will not be delivered - why? (According to current knowledge, this only concerns the hosting providers Strato and dogado.) Read the solution(s) on this page! Note: Emails through the test form (test.php) might be delivered because the sender address (no-reply@kontaktformular.com) is explicitly set. Therefore, the successful sending of the test email is not necessarily related to the failed delivery of an email through the contact form (contact.php). Information: Yahoo users typically encounter these error messages: "failed: yahoo.de: 554 Message not allowed - Headers are not RFC compliant[291]" and "Email rejected per DMARC policy for yahoo.de". To resolve the issue, implement the solution (defining the Reply-To header) provided in the mentioned link!

Reason 6. Make sure to verify if the PHP function "mail" is actually installed on your server by contacting your hosting provider. If your hosting provider does not allow this function, use SMTP instead (please also consider the note under point 5 in this regard). The subsequent test of the SMTP function can only be performed through the contact form (contact.php) (the test.php file is only used to check the PHP function "mail"). Therefore, enter your email address and your (company) name in the config.php file (line 3 and line 5 - see installation instructions).

Additional information: As described in point 2, Some hosting providers require that the email address used (which you use for the test.php or which is entered in the config.php file) is also created in the corresponding customer area. Please contact the support if necessary.

Reason 7. Some email providers (e.g., Yahoo) only receive emails that are transmitted through their own mail server. Since these providers consider the PHP function mail() as insecure, it is necessary to enable SMTP. In this case, you will need the SMTP details of the corresponding email provider. Important: Please check with your hosting provider if they allow an SMTP connection to external email providers. (SMTP to external mail servers is often denied). Also, implement the solution provided on this page!

You can find the SMTP details for the email providers Yahoo, Gmail, and GMX here. Note: The PHP mail function should not be a problem for GMX and Gmail. (As of 08/19)


Beforehand: Please test the contact form again in its original state (WITHOUT any modifications in contact.php). This way, the error can already be narrowed down.

Regarding the potential four causes:

Cause #1: You have edited the contact.php file (e.g., because you added new fields) and as a result, modified the PHP code accordingly. Make sure that you have also removed the standard mandatory fields in the PHP code by deleting any remaining variables under "// clean data" and "// formcheck".

Cause #2: The HTML page in which the contact form is embedded (via iframe or PHP include) contains JavaScript code or link elements to JavaScript files. This may potentially conflict with the JavaScript code from the contact form. We recommend gradually removing the JavaScript code or corresponding link elements until you have identified which JavaScript code may be causing the error.

Cause #3: Local web server (http://localhost): Test the contact form on the server of a reputable hosting provider as a general practice. The mail server often does not work (by default) on local web servers such as Xampp.

Cause #4: You are using the contact form that was offered until December 31, 2020 and have activated the SMTP function in this context. Since error output was not yet available for a failed SMTP connection, this may have caused confusion. Our suggestion: Upgrade the contact form and download the latest version from the Download section.


Cause #1: Your web server is running PHP 8.*, and you are still using an old version of the contact form script. Overwrite all files with the files from the current zip archive. Note: The contact form has been compatible with PHP 8 since November 2020.

Cause #2: Check if all files and directories from the zip archive have been uploaded to your web server. The directory structure must be preserved. See screenshot.

Cause #3: Ensure that all files are transferred to your web server in "Binary" transfer mode. We recommend using the free FTP program Total Commander for file uploads. It provides a simple and clear interface.

Cause #4: Open the file phpinfo.php (included in the zip archive) in your browser and verify if at least PHP 7.4 (or higher) is enabled on your web server. The contact form is no longer compatible with previous PHP versions (PHP 4., PHP 5.). We generally recommend using the latest PHP version (PHP 8.*).

Cause #5: Check if the email address and recipient name in the config.php file are correctly defined within the quotation marks.

Cause #6: If you are a Mac user, we recommend using the HTML editor Brackets for editing the files. The built-in Mac editor is not suitable for editing the files as it may incorrectly modify the file's character encoding.




If the contact form is not loading and instead the raw PHP/HTML code is displayed in the browser, it means that PHP is not installed on your server or domain. PHP is essential for the operation of the contact form. Therefore, you need to update to a web hosting package that supports PHP.


Issue: The delivered email cannot be replied to directly, as the user's email address in the recipient field contains a strange character string. The email address is not directly visible.

This "error" can occur when the web server has an atypical configuration of the email headers. (As of current knowledge, this concerns the hosting provider Hosteurope.) However, it's possible that other hosting providers may also be affected.

  Solution

Open the file contact.php

Replace the code section under "// header" with this:


// header
$header = "From: =?UTF-8?B?".base64_encode(stripslashes($fromName))."?= <".$fromMail.">".$eol;
$header .= ":";
$header .= "".$eol;
if(is_array($attachments) && 0<count($attachments)){
$header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"";
}
else{
$header .= "";
}


The option "Copy to the sender" (see config.php, line 45) cannot be used with certain hosting providers (e.g. Hosteurope), unfortunately, as the corresponding function is blocked server-side. Unfortunately, there is no solution for this.




  Issues with the security code (Captcha)


Please refer to the section in the installation manual: The security code is not being displayed?!.

If the security code suddenly stops appearing overnight, we kindly ask you to read the installation instructions! The specific reason for this issue may be due to an update of the php.ini file. For example, your host may have performed an update to the GD Library or a related library. In such cases, it is recommended to modify the path in the captcha.php file according to the instructions provided in the installation manual.

Tip: You can also consider using the six additional spam protection options. These options can be enabled or disabled in the config.php file. Please note that you may need to update the contact form as these spam protection options have been available since March 2019.


Cause #1: The HTML page in which the contact form is embedded (via iframe or PHP include) contains JavaScript code or link elements to JavaScript files. This can potentially conflict with the JavaScript code from the contact form. We recommend gradually removing the JavaScript code or related link elements until you identify which JavaScript code is causing the error.

Cause #2: You have edited the contact.php file (e.g., to add new fields) and as a result, modified the PHP code accordingly. Make sure that you have also removed the standard mandatory fields in the PHP code by deleting any remaining variables under "// clean data" and "// formcheck".

Cause #3: Local web server (http://localhost): Always test the contact form on the server of a reputable hosting provider. Local web servers (e.g., XAMPP) often have their mail server not functioning (by default).

Cause #4: Check if cookies are enabled in your browser. Cookies are typically enabled by default in modern browsers because many websites rely on them to function correctly. If you want to use the spam protection without cookies, you can use the contact form with a security question as an alternative (also available for download).

Cause #5: You are using the contact form that was offered until December 31, 2020, and have enabled the SMTP function. As error output was not yet available for failed SMTP connections, this could lead to confusion. Our recommendation: Upgrade the contact form and download the latest version from the website.

Cause #6: Check if you have correctly entered the email address and recipient name between the quotation marks in the config.php file.

Cause #7: The error can also be caused by a faulty PHP configuration. Make sure that "sessions" are correctly defined within the PHP configuration (php.ini) by contacting your hosting provider. You can refer to the provided screenshot for the correct settings. To view the PHP configuration of your web server, open the phpinfo.php file in your browser (included in the download archive).


Cause #1: The HTML page in which the contact form is embedded (via iframe or PHP include) contains JavaScript code or link elements to JavaScript files. This can potentially conflict with the JavaScript code from the contact form. We recommend gradually removing the JavaScript code or related link elements until you identify which JavaScript code is causing the error.

Cause #2: You have edited the contact.php file (e.g., to add new fields) and as a result, modified the PHP code accordingly. Make sure that you have also removed the standard mandatory fields in the PHP code by deleting any remaining variables under "// clean data" and "// formcheck".

Cause #3: Local web server (http://localhost): Always test the contact form on the server of a reputable hosting provider. Local web servers (e.g., XAMPP) often have their mail server not functioning (by default).

Cause #4: Check if cookies are enabled in your browser. Cookies are typically enabled by default in modern browsers because many websites rely on them to function correctly. If you want to use the spam protection without cookies, you can use the contact form with a security question as an alternative (also available for download).

Cause #5: You are using the contact form that was offered until December 31, 2020, and have enabled the SMTP function. As error output was not yet available for failed SMTP connections, this could lead to confusion. Our recommendation: Upgrade the contact form and download the latest version from the website.

Cause #6: Check if you have correctly entered the email address and recipient name between the quotation marks in the config.php file.

Cause #7: The error can also be caused by a faulty PHP configuration. Make sure that "sessions" are correctly defined within the PHP configuration (php.ini) by contacting your hosting provider. You can refer to the provided screenshot for the correct settings. To view the PHP configuration of your web server, open the phpinfo.php file in your browser (included in the download archive).




  Issues with spam


Emails are typically marked as spam only if they meet certain criteria or characteristics. For example, if you want to test the contact form and use very little text in the email content. You may have also written unrelated text or just individual words. If you add the word "Test" to the subject line, it is possible that your email provider's spam filter will flag it. Since such an email lacks trustworthiness, it is classified as spam. The spam filters of free email providers, such as GMX.de and WEB.de, are particularly good at detecting "unsafe" emails.

Tips:
1. Compose a "test email" with meaningful content and a normal subject line!
2. Use a real(!) sender email address in the contact form!
3. Avoid using a VPN provider for a "test email" as their IPs are often blacklisted!


In rare cases, it is possible to receive spam through the contact form. In such cases, we recommend activating the spam protection options. You can easily configure these options in the config.php file (refer to the installation manual for details).

Note: If you wish to use the "security question" captcha, you have the option to create your own questions and answers. Follow these instructions:

Open the AntiSpam.php file with an editor (recommended for Windows: Notepad2; recommended for MacOS: Brackets). Here, you can delete, edit, or add new questions and answers. When adding a new question, make sure to maintain the sequential numbering and include a comma after the second-to-last entry (before the closing bracket).
Example: 6 => array("What is 12 plus 1?",13),

Important: The answers should not be identical to the answers for the standard security questions. The answers can include special characters or umlauts.

Here are some examples of security questions:

What color is grass?
Answer: green

Type this word: red
Answer: red

Which letter is missing here: Importat
Answer: n

Which letter is missing here: Telepone
Answer: h

When it rains, it becomes...?
Answer: wet

You can download the previous example questions in the form of a new Antispam file. Replace the existing file with the updated "AntiSpam.php" file on your web server.






  Issues with the display


In advance: Please test the contact form again in its original state (WITHOUT any modifications in contact.php). This will help narrow down the error.

Regarding the potential four causes:

Cause #1: You have modified the meta-tag in the contact.php file and inserted something like "iso-8859-1" instead of "utf-8". When you saved the file, the HTML editor also saved it in that format. Solution: Use the original contact.php file for any modifications. Keep the meta-tag as it was originally.

Cause #2: You saved the contact.php file in the HTML editor with the format "UTF-8 with BOM" or "UTF-8 with Signature," which resulted in encoding. Solution: Use the original contact.php file for any modifications. Save the file normally, usually without selecting any encoding. ANSI, for example, is the correct standard encoding in Notepad2.

Cause #3: The umlauts are not displayed correctly even when the contact form is included via PHP Include, and your website does not use the "utf-8" character encoding. Many websites still use the outdated character encoding "iso-8859-1," for example. UTF-8 (Unicode Transformation Format) is the most common character encoding and should be used as the standard on all websites. Therefore, it is important to change the character encoding (charset) to "utf-8" in the included page. Example for the meta-tag: <meta charset="utf-8">

Cause #4: The FTP upload of the files was performed with the wrong transfer mode. Make sure all files are transferred to your web server in "binary" transfer mode. We recommend using the free FTP program Total Commander for file uploads. It provides a simple and clear interface.


In the Firefox browser, subsequent changes in the CSS code are not immediately visible if you have already accessed the contact form (contact.php) in its original state. By the way, visitors to your website who access the contact form for the first time AFTER the changes will naturally see the current version of the stylesheet! Simply refreshing the page does not bring any success in this case. This is because Firefox optimized its "cache system" in 2020 with the goal of providing users with shorter loading times. Therefore, the reloading of the stylesheet (CSS) is not performed continuously when a website is accessed, even if it may have been changed temporarily. Tip: Use Google Chrome or create a new directory for each set of modified files. This way, the changes will be immediately visible in the browser.


Usually, after successfully submitting the entered data through the contact form, the visitor is shown a thank you page (thankyou.php). If, instead, a white or blank page is displayed, the issue lies locally in the browser settings. The redirection to the thank you page is achieved through the HTML meta-refresh tag, which is supported by all browsers by default. However, due to certain tools or extensions, it is possible for the "meta-refresh" function to be blocked in the browser. This is an exception and not the norm!

Regardless of this issue, the email is still sent to you.

Please follow these steps if you are using the Mozilla Firefox browser:

1. Enter "about:config" in the address bar and confirm by clicking "I'll be careful, I promise!"
2. Search for "blockautorefresh". The setting should be set to "false". So far, Firefox is the only browser that has exhibited this problem. No anomalies have been observed in Google Chrome, Internet Explorer, Opera, and Safari browsers.




  Technical questions


For this purpose, please refer to our tutorial. It allows you to add additional input fields, checkboxes, or select boxes, enabling you to create a customized contact form. The documentation will provide you with a quick overview, making it easy to remove fields in just a few steps.


Forenote: The PHP code is identical for all templates. Only the corresponding HTML code needs to be removed by you, depending on which template you are using. Alternatively, you can also open the tutorial page for the respective template. There, you will find specific instructions for modifying the HTML code.

We are basing ourselves on 'Template 1' in this example:

Open the file contact.php and replace the following line under // clean data:

$subject   	= stripslashes($_POST["subject"]);


With this line (where you can set the custom subject):

$subject		= "New message from contact form";


Now remove the following lines in the file contact.php under // formcheck:

if(!$subject) {
$fehler['subject'] = "<span class='errormsg'>Please enter your <strong>subject</strong>.</span>";
}


as well under // ---- create mail-message for admin:

$mailcontent .= "\nSubject: " . $subject . "\n";


as well under // ---- create mail-message for customer:

$mailcontent .= "\nSubject: " . $subject . "\n";


as well as in the HTML code:

<div class="row">
<div class="col-sm-8 <?php if ($fehler["subject"] != "") { echo 'error'; } ?> <?php echo (isset($_POST['subject']) && ''!=$_POST['subject'] ? 'not-empty-field ' : ''); ?>">
<label class="control-label" for="border-right8"><i id="subject-icon" class="fa fa-edit"></i></label>
<input <?php if($cfg['HTML5_error_messages']) { ?> required style="box-shadow: 0 0 1px rgba(0,0,0, .4);" <?php }else{ ?> onchange="checkField(this)" <?php } ?> aria-label="Subject" type="text" name="subject" class="field" placeholder="Subject *" value="<?php echo $_POST['subject']; ?>" maxlength="<?php echo $number_of_characters_subject; ?>" id="border-right8" onclick="setActive(this);" onfocus="setActive(this);"/>
<?php if ($fehler["subject"] != "") { echo $fehler["subject"]; } ?>
</div>
</div>


Furthermore, replace the following line under // ---- create mail-message for admin AND under // ---- create mail-message for customer:



$mailcontent .= "Telephone: " . $telephone . "\n";


With this:

$mailcontent .= "Telephone: " . $telephone . "\n\n";


Done!




Insert the following code into the file config.php before $recipient:

$blind_copy_recipient = "blind_copy@email.com";  // Enter the BCC email address here. (between the quotation marks)

$blind_copy_name = "BCC recipient";  // Enter the BCC recipient here. (between the quotation marks)


Copy the following code snippet into the contact.php file:


Attention: The following code deviates minimally for you if you are using a version without a subject line. In this case, remove "$subject," (with a comma!) in the subsequent code.


// ---- send mail to admin
        if($smtp['enabled'] !== 0) {
            require_once __DIR__ . '/smtp.php';
            $success = SMTP::send(
                $smtp['host'],
                $smtp['user'],
                $smtp['password'],
                $smtp['encryption'],
                $smtp['port'],
                $email,
                $yourname,
                $recipient,
                $subject,
                $mailcontent,
                (2==$cfg['UPLOAD_ACTIVE'] ? array() : $uploadedFiles),
                $cfg['UPLOAD_FOLDER'],
                $smtp['debug']
            );
        } else {
            $success = sendMyMail($email, $first_name." ".$name, $recipient, $subject, $mailcontent, $attachments);
        }


Afterwards, paste the copy of the code snippet directly below it and change the comment to:


// ---- send mail to bcc admin



Now simply overwrite the following variables:


$yourname,

in

$blind_copy_name,


$recipient,

in

$blind_copy_recipient,

(under

$success = SMTP::send( ...

)

$recipient,

in

$blind_copy_recipient,

(under

else { $success = sendMyMail($email, ...

)


Feel free to use our responsive iFrame with automatic height adjustment. Additionally, we recommend using this frame breaker script for the thank-you page.


If the thank-you page should not be displayed within the iFrame, it is recommended to use a frame breaker script.

Use this JavaScript code!

Note: We recommend using the frame breaker script for the thank-you page if you are using our responsive iFrame!




  General inquiries (design changes, HTML code)


Template 1 - 13
Open the file style-contact-form.css with an editor (recommendation for Windows: Notepad2; recommendation for MacOS: Brackets) and search for:

background-color: #FFFFFF;


Here you can change the HTML color code (FFFFFF). If you want to set the background to transparent, simply replace the color code with the value 'transparent.' So: background-color: transparent;




For this, please refer to the tutorial of the respective template. You can find the tutorials on this page. (Scroll down a bit)


Contact Form Template 1
Open the file style-contact-form.css with an editor and search for:

width: 600px;

Here you can change the width (width: 600px;). Note: Since our contact form has a responsive design, the width will automatically adjust for lower resolutions (smartphones, tablets) (max-width: 655px).



Contact Form Template 2 and 3
Open the file style-contact-form.css with an editor and search for:


width: 520px;

Here you can change the width (width: 520px;). Note: Since our contact form has a responsive design, the width will automatically adjust for lower resolutions (smartphones, tablets) (max-width: 655px).



Contact Form Template 4, 5, 6 and 7
Open the file style-contact-form.css with an editor and search for:


width: 600px;

Here you can change the width (width: 600px;). Note: Since our contact form has a responsive design, the width will automatically adjust for lower resolutions (smartphones, tablets) (max-width: 655px).



Contact Form Template 8
Open the file style-contact-form.css with an editor and search for:


max-width: 39em;

Here you can change the width (max-width: 39em;). Note: As our contact form has a responsive design, the width automatically adjusts for lower resolutions (smartphones, tablets), and the form fields will become single-column again for appropriately small resolutions. You can determine when this should happen by using @media (max-width: 400px).



Contact Form Template 9
To change the width in Template 9, it is best to refer to the following example. In this example, we are changing the width from 715px to 915px.

Open the file style-contact-form.css with an editor (recommended for Windows: Notepad2; recommended for MacOS: Brackets).

Look for 'width: 715px;'. Change 'width: 715px;' to 'width: 915px;'.
Look for 'max-width: 660px;'. Change 'max-width: 660px;' to 'max-width: 860px;'.

However, the left margin for the form labels becomes slightly wider. If this doesn't bother you, you can leave it as it is. If you want the width to be displayed correctly again, you need to 'indent' it. For this, you'll need to change five more values.

1. Look for 'width: 31%;'. Change 'width: 31%;' to 'width: 34%;'
2. Look for 'width: 81%;'. Change 'width: 81%;' to 'width: 84%;'
3. Look for 'width: 19%;'. Change 'width: 19%;' to 'width: 16%;'
4. Look for 'width: 19% !important;'. Change 'width: 19% !important;' to 'width: 16% !important;'
5. Look for 'padding-left: 19%;'. Change 'padding-left: 19%;' to 'padding-left: 16%;'
6. (optional - only for two or more file upload fields) Look for 'margin-left: 23.52%;'. Change 'margin-left: 23.52%;' to 'margin-left: 19.30%;'

Now the form will be displayed neatly again! You can repeat this process with any unit of measurement.

Demo - This is how the form looks with a width of '915px'!"

Note: As our contact form has a responsive design, the width automatically adjusts for low resolutions (smartphones, tablets). The form fields will be displayed in a single column layout for sufficiently small resolutions. You can determine when this behavior should occur by setting "max-width: 660px;".

Contact Form Template 10
Open the file "style-contact-form.css" with an editor and search for:

max-width: 400px;

Here, you can modify the max width (max-width: 400px). Note: As our contact form has a responsive design, the width automatically adjusts for low resolutions (smartphones, tablets) (max-width: 380px).



Contact Form Template 11
Open the file "style-contact-form.css" with an editor and search for:


max-width: 555px;

Here, you can adjust the width at max-width: 555px. Note: As our contact form has a responsive design, the width automatically adjusts for low resolutions (smartphones, tablets) (max-width: 410px).



Contact Form Template 12 and Template 13
Open the file "style-contact-form.css" with an editor and search for:


max-width: 500px;

Here, you can adjust the width at max-width: 500px. Note: As our contact form has a responsive design, the width automatically adjusts for low resolutions (smartphones, tablets). For Template 12: The max-width is set to 390px. For Template 13: The max-width is set to 500px.



A word about Responsive Design: If you want to make your website accessible for smartphones and tablets, you should program your website in a Responsive Design. However, you can also create a mobile website by following the free tutorial (see link) step by step. A suitable HTML template (responsive) is also provided to you free of charge.




You can center-align the contact form (Template 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, and 13) using the CSS Flexbox model. Open the file "style-contact-form.css" with an editor (recommended for Windows: Notepad2; recommended for MacOS: Brackets) and insert this code inside the body { } section:

display: flex;
align-items: center;
justify-content: center;


Additional instructions for Template 1 and 4 - 13

Insert these CSS commands between .kontaktformular { }:
margin-left:0px;
padding-left: 0rem;

Note: Override the CSS command margin-left:20px;, if it is present under .kontaktformular { } (this is the case for Template 1 and 5, among others)

Additional instructions for Template 2 and 3:

1. Replace padding: 30px 25px 20px 25px; (inside body {}) with:
padding: 30px 25px 20px 0px;
2. Add this CSS class after @media (max-width: 655px) {:
body {
padding: 30px 15px 20px 0px;
}



Additional instructions for Template 9

To center-align the contact form, open the file "style-contact-form.css" with an editor (recommended for Windows: Notepad2; recommended for MacOS: Brackets). Now, insert the following code before body (line 5):



body > div {

margin: 0 auto;
width: calc(1rem/16*715);
max-width: 100%;

}


"width: calc(1rem/16*715);" represents the default width (715px) of the form. If you have previously modified the width, you need to adjust this value accordingly.

Regardless: You can also center Template 9 using an iFrame. In this case, the iFrame code (see installation instructions) must be supplemented by adding the following after "border: none;":

width: calc(1rem/16*715); max-width: 100%;

It should look like this:

<iframe src="contact.php" style="border: none; width:calc(1rem/16*715); max-width:100%; height:700px;"></iframe>

You can also use the responsive iFrame. Here, you need to insert the mentioned code inside style="" as well.

Note for using an older Bootstrap version (before v4.3.1): In the "bootstrap.min.css" file, the "font-size" declaration (under html{ }) should not be defined in px. The declaration must always be: "font-size: initial;".



  Possible error messages


This error only occurs if you are using an outdated PHP version. To ensure smooth operation of the contact form, it is necessary to use PHP 7.4 or higher. You can check the PHP version by accessing the file "phpinfo.php" in your browser.


This error message indicates that your server has an outdated PHP version 4 installed. To use the contact form on your website, the server must have PHP version 7.4 or higher installed. For security reasons, it is recommended to always use the latest PHP version (PHP 8.*). Please contact your hosting provider.


This error message appears when you try to use the contact form with SMTP in conjunction with an older PHP version. Your web server must have at least PHP version 7.4 installed to use the PHPMailer class (responsible for SMTP). Please contact your hosting provider.


Open the file "contact.php" and add this code in line 3 (below session_start();): error_reporting(E_ERROR | E_PARSE);


Your server must have at least PHP version 7.4 installed. Please contact your hosting provider and request an update to PHP 7.4 or higher. Alternatively, open the file "contact.php" with an editor and remove the code in line 4: date_default_timezone_set('Europe/Berlin');


There can be two reasons for this:

1. You have written specific code into the "contact.php" file before the PHP code "session_start();". There should be nothing before "session_start();".

2. The "contact.php" file has been converted to UTF-8 with BOM (UTF-8 with signature). The file was likely inadvertently saved incorrectly by your editor after you made modifications/changes.

To fix this error, open the "contact.php" file with the Notepad2 editor. Click on "File" in the menu (top left), then select "Encoding". Currently, it may be set to "UTF-8 with Signature". Instead, choose "UTF-8".

Now, save the "contact.php" file and upload it back to your server.






Hosteurope and Strato customers, please note this information!

Feel free to use our tutorials for WordPress and Bootstrap if needed!

Note: For editing the files, an HTML editor is recommended.
Windows recommendation: Notepad2
MacOS recommendation: Brackets

Is your question not listed? Please feel free to contact me at michael.knothe@gmx.de.





I'm not receiving any emails through the contact form (contact.php) or the test file (test.php).
Reason 1. Please check if you have entered a correct email address in the config.php file. (This applies only if you are not receiving emails through the contact.php file.) Note: It is possible that emails are being delivered through the contact.php file, but not through the test.php file. Therefore, please complete the config.php file with your email address - see installation instructions.

1.1 Please use a domain-specific email address in the format: info@your-domain.com. Unfortunately, some hosting providers (e.g. Hosteurope, IONOS) block external email providers such as Yahoo, GMX, Gmail, WEB.DE, or T-Online. While this is not the case with all hosting providers yet, it is unfortunately becoming more common in 2024.

1.2 Hosteurope, Strato, IONOS (1&1), and dogado customers: Please take note of this information! (← Possibly, the information may also be relevant for other hosting providers!)

Reason 2. Some hosting providers require that the corresponding email address (which you use for the test.php or which is entered in the config.php file) is also registered in the customer area or control panel. Please contact the support of your hosting provider.

Reason 3. Check if the email has been marked as spam in your email program (e.g., Outlook). Note: For the test email (test.php), the sender is "no-reply@kontaktformular.com". In certain spam filter settings, the word "no-reply" is automatically flagged as spam.

Reason 4. Local web server (http://localhost): Please test the PHP mail function on the server of a reputable hosting provider as a general practice. Local web servers (e.g., Xampp) often do not have a mail server installed. Moreover, they are frequently misconfigured, which leads to incorrect invocation of the PHP mail function.

Reason 5. Messages from users who enter a Yahoo, iCloud, Hotmail, Gmail, T-Online, or AOL email address in the contact form will not be delivered - why? (According to current knowledge, this only concerns the hosting providers Strato and dogado.) Read the solution(s) on this page! Note: Emails through the test form (test.php) might be delivered because the sender address (no-reply@kontaktformular.com) is explicitly set. Therefore, the successful sending of the test email is not necessarily related to the failed delivery of an email through the contact form (contact.php). Information: Yahoo users typically encounter these error messages: "failed: yahoo.de: 554 Message not allowed - Headers are not RFC compliant[291]" and "Email rejected per DMARC policy for yahoo.de". To resolve the issue, implement the solution (defining the Reply-To header) provided in the mentioned link!

Reason 6. Make sure to verify if the PHP function "mail" is actually installed on your server by contacting your hosting provider. If your hosting provider does not allow this function, use SMTP instead (please also consider the note under point 5 in this regard). The subsequent test of the SMTP function can only be performed through the contact form (contact.php) (the test.php file is only used to check the PHP function "mail"). Therefore, enter your email address and your (company) name in the config.php file (line 3 and line 5 - see installation instructions).

Additional information: As described in point 2, Some hosting providers require that the email address used (which you use for the test.php or which is entered in the config.php file) is also created in the corresponding customer area. Please contact the support if necessary.

Reason 7. Some email providers (e.g., Yahoo) only receive emails that are transmitted through their own mail server. Since these providers consider the PHP function mail() as insecure, it is necessary to enable SMTP. In this case, you will need the SMTP details of the corresponding email provider. Important: Please check with your hosting provider if they allow an SMTP connection to external email providers. (SMTP to external mail servers is often denied). Also, implement the solution provided on this page!

You can find the SMTP details for the email providers Yahoo, Gmail, and GMX here. Note: The PHP mail function should not be a problem for GMX and Gmail. (As of 08/19)