что не так с этим ..Как отправить электронное письмо? php codes
Я пытаюсь отправить сообщение на почту, но сообщение не получает ресивер .. что не так с моими кодами? или у вас есть предложения? пожалуйста, помогите:
вот мой код:
<?php
if(isset($_POST['subject'], $_POST['sender'], $_POST['receiver'], $_POST['body'])) {
//Validate Subject
if(empty($_POST['subject'])) {
$errors[] = "Please enter a subject";
} else{
$subject = htmlentities($_POST['subject']);
}
//Validate Sender Email
if(empty($_POST['sender'])) {
$errors[] = "Please enter a valid eMail Address";
} else if(strlen($_POST['sender']) > 347) {
$errors[] = "Email is too long. Please provide a valid email address";
} else if(filter_var($_POST['sender'], FILTER_VALIDATE_EMAIL) === false) {
$errors[] = "Please provide a valid eMail address";
}else{
$email = "<" .htmlentities($_POST['sender']). ">";
}
//Validate Receiver's Email
if(empty($_POST['receiver'])) {
$errors[] = "Please enter a valid eMail Address";
} else if(strlen($_POST['receiver']) > 347) {
$errors[] = "Your email is too long. Please provide a valid email address";
} else if(filter_var($_POST['receiver'], FILTER_VALIDATE_EMAIL) === false) {
$errors[] = "Please provide a valid eMail address";
}else{
$to = "<" .htmlentities($_POST['receiver']). ">";
}
//Validate the Message
if(empty($_POST['body'])) {
$errors[] = "Please enter a message.";
} else {
$body = htmlentities($_POST['body']);
}
}
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Mail Test</title>
</head>
<body>
<?php
if(empty($errors) === false) {
?>
<ul>
<?php
foreach($errors as $error) {
echo "<li>", $error, "</li>";
}
?>
</ul>
<?php
} else {
if (isset($to, $subject, $body, $email)){
mail($to, $subject, $body, "From: ($email)");
echo "Message sent!";
}
}
?>
<form method="post" action="">
<label for="subject"> Subject: </label>
<input type="text" id="subject" name="subject" /><br/>
<label for="sender"> Your eMail: </label>
<input type="text" id="sender" name="sender" /> <br/>
<label for="receiver"> Receiver: </label>
<input type="text" id="receiver" name="receiver" /> <br/>
<label for="body"> Message: </label>
<textarea id="body" name="body" cols="100" rows="20"> </textarea> <br/>
<input type="submit" value="Send Email" />
</body>
</html>
Они проверили фильтры спама? Разве это не работает ни для кого, ни для некоторых людей? Можете ли вы по электронной почте самостоятельно? Вы проверили, работает ли вызов 'mail()'? У вас настроен SMTP-сервер? Вы проверили его журналы? – andrewsi
Может возникнуть идея написать простой сценарий _much_, по сути, просто используя 'mail' самостоятельно, чтобы узнать, получена ли почта. Затем, на большом скрипте, введите отладочные сообщения, чтобы увидеть, где это может произойти неправильно. – halfer
требуется SMTP-сервер ..? как я могу настроить это? – Jell