1
我正在商業網站上創建申請表。應用程序需要發送到一個電子郵件地址有兩個擴展名(不確定適當的術語:.ns.ca)例如[email protected]。Php申請表 - 獨特的電子郵件錯誤
我的php目前沒有日誌錯誤,在發短信提交者確實收到確認電子郵件和上面的電子郵件顯示在TO:字段。但是這封電子郵件永遠不會被收到。
當我改變TO:電子郵件的東西只有.com或.ca擴展時,表單工作得很好。
如何設置我的服務器或php來容納這個唯一的電子郵件地址?
<?php
// Fetching Values from URL.
$firstname = $_POST['firstname1'];
$lastname = $_POST['lastname1'];
$address = $_POST['address1'];
$email = $_POST['email1'];
$phone = $_POST['phone1'];
$regular = $_POST['regular1'];
$family = $_POST['family1'];
$crest = $_POST['crest1'];
$email = filter_var($email, FILTER_SANITIZE_EMAIL); // Sanitizing E-mail.
// After sanitization Validation is performed
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
if (!preg_match("/^[0-9]{10}$/", $phone)) {
echo "<span>* Please Fill Valid Contact No. *</span>";
} else {
$subject = $firstname + $lastname + "HWA Application";
// To send HTML mail, the Content-type header must be set.
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From:' . $email. "\r\n"; // Sender's Email
$headers .= 'Cc:' . $email. "\r\n"; // Carbon copy to Sender
$template = '<div style="padding:50px; color:white;">Hello ' . $firstname . $lastname . ',<br/>'
. '<br/>Thank you...! For Contacting Us.<br/><br/>'
. 'Name:' . $firstname + $lastname . '<br/>'
. 'Address:' . $address . '<br/>'
. 'Email:' . $email . '<br/>'
. 'This is a Contact Confirmation mail.'
. '<br/>'
. 'We Will contact You as soon as possible .</div>';
$sendmessage = "<div style=\"background-color:#7E7E7E; color:white;\">" . $template . "</div>";
// Message lines should not exceed 70 characters (PHP rule), so wrap it.
$sendmessage = wordwrap($sendmessage, 70);
// Send mail by PHP Mail Function.
mail("[email protected]", $subject, $sendmessage, $headers);
echo "Your Query has been received, We will contact you soon.";
}
} else {
echo "<span>* invalid email *</span>";
}
?>
您可能正在處理filter_vars查看電子郵件地址並傳回'false'。使用「print_r($ email)」測試它並查看輸出結果。如果它是「假」,那麼過濾器就是怪罪。電子郵件過濾是一件複雜的事情,幾乎在任何地方都很難實施。我真的會考慮,如果你'確實'需要確保電子郵件是有效的?還是通過電子郵件發送足夠的無效電子郵件地址進行測試? – TolMera
推薦閱讀:使用REGEX進行電子郵件驗證http://www.regular-expressions.info/email.html – TolMera
我不認爲我正在驗證To:電子郵件,這是我目前關注的電子郵件。有這樣的電子郵件的人,所以我會刪除驗證器,因爲我們不需要那麼複雜。 但是,我在收件人的電子郵件地址硬編碼,我沒有看到任何驗證。 'mail(「[email protected]」,$ subject,$ sendmessage,$ headers);' 如上所述,表單效果很好,但To:電子郵件永遠不會收到這個。如果我使用「[email protected]」,它將工作得很好。想法? – Bromox