i've made a php form and I'm sure the code is 100% fine, but it won't send.
I have a vps running Linux, and I have apache and PHP installed on it.
Do I have to configure anything to let my server send mails using PHP? I've tried sending my mails to gmail and to my exchange mail with the same domain as my website I'm trying to send mails from.
I've tried everything on google, but all the tutorials just write the PHP code and it sends the email, but i get nothing.
The only thing in the log is:
Oct 24 18:21:46 vps-2c012137 opendkim[17717]: OpenDKIM Filter v2.11.0 starting
<?php
$errors = '';
$myemail = 'kontakt@vlfmedia.dk';
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']))
{
$errors .= "\n Error: all fields are required";
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
$errors .= "\n Error: Invalid email address";
}
if( empty($errors))
{
$to = $myemail;
$email_subject = "Contact form submission: $name";
$email_body = "You have received a new message. ".
" Here are the details:\n Name: $name \n Email: $email_address \n Message \n $message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Contact form handler</title>
</head>
<body>
<!-- This page is displayed only if there is some error -->
<?php
echo nl2br($errors);
?>
</body>
</html>