사용자가 메시지를 입력하는 곳이 있으며, 상대방이받는 사람에게 메시지가 전송됩니다. 나는이 스크립트를 여러 번 시도하고 자습서를 훑어 보았지만 잘못된 것을 발견하지 못했습니다. 어떤 아이디어?PHP를 통해 메일을 보낼 수 없습니다.
HTML 형태 :
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
<?php
if(isset($sent))
echo 'Your message has been sent. '; ?>
<label for="Name">Name</label><br />
<input type="text" class="textbox" size="35" id="Name" name="Name" <?php if(isset($name)) echo "value=\"$name\"";?> /><br />
<label for="Service">Service</label><br />
<input type="text" size="35" class="textbox" id="Service" name="Service" <?php if(isset($subject)) echo"value=\"$subject\"";?> /><br />
<label for="Email">Email</label><br />
<input type="text" size="35" class="textbox" id="Email" name="Email" <?php if(isset($from)) echo"value=\"$from\""; ?> /><br />
<label for="message">Message</label><br />
<textarea rows="95" cols="100" id="message" name="message"><?php if(isset($message)) echo"$message"; ?></textarea><br />
<button type="submit">Send Message</button>
</form>
PHP :
if(isset($_POST['Name']) && isset($_POST['Email']) && isset($_POST['Service']) && isset($_POST['message'])) {
$name = $_POST['Name'];
$from = $_POST['Email'];
$subject = $_POST['Service'];
$to = "[email protected]";
$message = $_POST['message'];
mysql_query("INSERT INTO `Contact`(`Name`, `Email`, `Message`, `Service`) VALUES('$name', '$from', '$message', '$subject')");
$headers = "From:".$from;
if(mail($to,$subject,$message,$headers))
$msgsent = true;
}
감사합니다!
디버깅을 시도 했습니까? mail()이 작동하는지 확인 했습니까? Var_dump ($ msgsent)가 작동하는지 여부를 확인하십시오. –
메일 서버를 설치 했습니까? – asprin
@ Dr.Dan, 예. 디버깅을 시도했는데 양식으로 바로 보내진 모든 정보를 얻을 수 있기 때문에 스크립트가 전송되지 않는다는 것을 확인했습니다. – Andrew