我試圖讓訪問我的網站的人通過填寫一個簡短的表格並讓網站向我發送一封包含這些信息的電子郵件來訂閱,但此時表單不會甚至提交信息。一些幫助將不勝感激。訂閱表格無法使用(PHP)
<form id="ContactForm" action="mail/MailHandler.php">
<div class="success">Form submitted!<br><strong>Look forward to our next Monthly Mailer.</strong></div>
<fieldset>
<div class="wrapper">
<label class="name">
<span class="bg"><input type="text" value="Name:" class="input"></span>
<span class="error">*This is not a valid name.</span>
<span class="empty">*This field is required.</span>
</label>
</div>
<div class="wrapper">
<label class="email">
<span class="bg"><input type="text" value="E-mail:" class="input"></span>
<span class="error">*This is not a valid email address.</span>
<span class="empty">*This field is required.</span>
</label>
</div>
<div class="btns">
<a href="mail/MailHandler.php" class="button1" data-type="submit">
<span><strong>submit</strong></span>
<span class="active"><strong>submit</strong></span>
</a>
</div>
</fieldset>
</form>
與PHP如下
<?php
$owner_email = $_POST["[email protected]"];
$headers = 'From:' . $_POST["email"];
$subject = 'Monthly Mailer Subscriber ' . $_POST["name"];
$messageBody = "";
$messageBody .= '<p>' . $_POST["name"] . ' would like to be subscribed to your Monthly Mailer!</p>' . "\n";
$messageBody .= '<br>' . "\n";
$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
try{
if(!mail($owner_email, $subject, $messageBody, $headers)){
throw new Exception('mail failed');
}else{
echo 'mail sent';
}
}catch(Exception $e){
echo $e->getMessage() ."\n";
}
?>
問題解決了!問題在於我的輸入沒有名稱,並且 $ owner_email = $ _POST [「[email protected]」]的語法; 應該是 $ owner_email ='[email protected]';
的郵件功能是不可靠的,請嘗試使用PHP郵件類像SwiftMailer –