Обычно я код в ASP.NET, поэтому мир PHP для меня немного новый. Когда я заполняю форму и нажимаю «Отправить», я не получаю почту.отправьте почтовую форму, но почта не отправляется
Может кто-то увидеть, что здесь не так?
Проверка правильная работа, но если вы можете увидеть какой-то код, который мне не нужен, то, пожалуйста, скажите это.
<?php
/************************
* Variables
*************************/
$cc = "";
$bcc = "";
$headermail = '[email protected]';
$toaddress = "[email protected]";
$to = "[email protected]";
$name = "Thomas Petersen";
$email = "[email protected]";
if($_SERVER["REQUEST_METHOD"] == "POST")
{
if(strlen($_POST['companyname']) < 1 || strlen($_POST['navn']) < 1 || strlen($_POST['beskrivelse']) < 1 || strlen($_POST['kommentar']) < 1 || validateEmail($email) == FALSE)
{
if(empty($_POST['navn'])){
$emailerror .= '<li>Venligst indtast dit navn</li>';
}
else if(empty($_POST['telefon'])){
$emailerror .= '<li>Venligst indtast dit telefon nummer</li>';
}
else if(!is_numeric($_POST['telefon'])){
$emailerror .= '<li>OPMÆRKSOM! Telefon nummer, kan kun indholde tal-cifre.</li>';
}
else if(empty($_POST['beskrivelse'])){
$emailerror .= '<li>Venligst indtast en beskrivelse</li>';
}
else if(empty($_POST['mvalue'])){
$emailerror .= '<li>Venligst indtast ordre mængde</li>';
}
else if(empty($_POST['kommentar'])){
$emailerror .= '<li>Venligst indtast en kommentar</li>';
}
}
else
{
$emailerror .= "<h1 style='color:#00ff00;'>Mail Send!</h1>";
$message = '<!DOCTYPE HTML>
<html>
<head></head>
<body>
<table>
<tr><td colspan="2">' . $_POST['navn'] . ' har sendt denne forespørgsel.</td></tr>
<tr><td>Telefon nr.:</td><td>' . $_POST['telefon'] . '</td></tr>
<tr><td>Beskrivelse:</td><td>' . $_POST['beskrivelse'] . '</td></tr>
<tr><td>Mængde:</td><td>' . $_POST['mvalue'] . '</td></tr>
<tr><td>Kommentar:</td><td>' . $_POST['kommentar'] . '</td></tr>
</table>
</body>
</html>';
$message = trim(stripslashes($message));
$e_subject = 'Mosegården Forespørgsel fra ' . $_POST['navn'] . '.';
$headers = "Fra: " . $_POST['navn'] . PHP_EOL;
$headers .= "Reply-To: $email" . PHP_EOL;
$headers .= "MIME-Version: 1.0" . PHP_EOL;
$headers .= "Content-type: text/html; charset=utf-8" . PHP_EOL;
$headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL;
$headers .= 'To: Thomas <[email protected]>' . PHP_EOL;
$headers .= 'From: Salg af hus [email protected]>' . PHP_EOL;
$headers .= 'Cc: [email protected]' . PHP_EOL;
$headers .= 'Bcc: [email protected]' . PHP_EOL;
mail($toaddress, $e_subject, $message, $headers);
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<style>
input[type=text] {
padding:5px; border:2px solid #ccc;
-webkit-border-radius: 5px;
border-radius: 5px;
}
input[type=text]:focus {
border-color:#333;
}
input[type=submit] {
padding:5px 15px;
background:#ccc;
border:0 none;
cursor:pointer;
-webkit-border-radius: 5px;
border-radius: 5px;
}
textarea{
padding:5px; border:2px solid #ccc;
-webkit-border-radius: 5px;
border-radius: 5px;
}
</style>
</head>
<body>
<h1>Forespørgsel</h1>
<div id='emailerror'>
<ul>
<p><?php echo $emailerror; ?></p>
</ul>
</div>
<form method="post" action="">
<div>
<div class="input_label user">
<label>Navn:</label>
</div>
<input type="text" name="navn" />
</div>
<br />
<div>
<div class="input_label user">
<label>Telefon nr.:</label>
</div>
<input type='text' name="telefon" />
</div>
<br />
<div>
<div class="input_label user">
<label>Beskrivelse:</label>
</div>
<textarea name="beskrivelse"></textarea>
</div>
<br />
<div>
<div class="input_label user">
<label>Mængde:</label>
</div>
<input type="text" name="mvalue" />
</div>
<br />
<div>
<div class="input_label user">
<label>Kommentar:</label>
</div>
<textarea name="kommentar"></textarea>
</div>
<br />
<input type="submit" value=" Send " />
</form>
</body>
</html>
EDIT
Этот код работает отлично без санкционирования, для отправки почты.
<?php
if($_SERVER["REQUEST_METHOD"] == "POST")
{
$name = "Thomas Petersen";
$email = "[email protected]";
$message = $_POST['navn'] . " har sendt denne forespørgsel." . \r\n . "Telefon nr.: ". $_POST['telefon'] . "\r\n" . "Beskrivelse: ". $_POST['beskrivelse'] . "\r\n" . "Mængde: ". $_POST['mvalue'] . "\r\n" . "Kommentar: ". $_POST['kommentar'] . "\r\n";
$to = "[email protected]";
$subject = "Mosegården Forespørgsel fra " . $_POST['navn'];
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: Thomas <[email protected]>' . "\r\n";
$headers .= 'From: Salg af hus [email protected]>' . "\r\n";
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= 'Bcc: [email protected]' . "\r\n";
if (!mail($to, $subject, $message, $headers)) {
echo "<h1 style='color:rgb(0,0,255);'>Mail ikke send!</h1>";
} else {
echo "<h1 style='color:#00ff00;'>Mail Send!</h1>";
}
}
?>
У вас есть почтовый сервер, работающий на вашем сервере, потому что если нет, то есть ваша проблема. – kpp
Да, если я использую код без проверки, тогда я могу отправить почту отлично, см. Редактирование. –
точно так же, как @kpp сказал, вам нужен запуск почтового сервера. и/или для вашего веб-пространства/веб-сервера-провайдера необходимо, чтобы все функции 'mail()' работали. если у вас есть собственный сервер, работающий на окнах, я могу порекомендовать [smtp4dev] (http://smtp4dev.codeplex.com/) для тестирования. –