2011-11-23 62 views
36

Tôi biết rằng có rất nhiều ví dụ sử dụng hành động mailto: post để gửi email chỉ bằng biểu mẫu html.Cách tạo biểu mẫu email có thể gửi email bằng cách sử dụng html

Nhưng việc sử dụng thực tế sẽ bật lên hộp thoại gửi email, ví dụ: hộp thoại outlook và nó thực sự đang sử dụng máy chủ smtp của chúng tôi để gửi email.

Có cách nào để tạo biểu mẫu html chỉ đơn giản là gửi email khi gửi?

Ví dụ: nếu sử dụng api javascript khác có thể đạt được hiệu quả? nói cho ví dụ node.js?

Có ai có thể cung cấp một số mẫu mã không?

Trả lời

3

Html của chính nó sẽ không gửi email. Bạn sẽ cần một thứ kết nối với máy chủ SMTP để gửi email. Do đó Outlook bật lên với mailto: khác biểu mẫu của bạn đi đến máy chủ có một kịch bản gửi email.

4

Bạn không thể, những điều duy nhất bạn có thể làm với html là mở ứng dụng email mặc định của bạn. Bạn phải sử dụng mã máy chủ để gửi email, php, asp .net ....

3

Bạn không thể gửi email bằng javascript hoặc html. Bạn cần các kịch bản phía máy chủ trong php hoặc các công nghệ khác để gửi email.

38

Như những người khác đã nói, bạn không thể. Bạn có thể tìm thấy các ví dụ điển hình về dạng HTML-php trên web, đây là một liên kết rất hữu ích kết hợp HTML với javascript để xác thực và php để gửi email.

Vui lòng kiểm tra toàn bộ bài viết (bao gồm ví dụ zip) trong nguồn: http://www.html-form-guide.com/contact-form/php-email-contact-form.html

HTML:

<form method="post" name="contact_form" 
action="contact-form-handler.php"> 
    Your Name: 
    <input type="text" name="name"> 
    Email Address: 
    <input type="text" name="email"> 
    Message: 
    <textarea name="message"></textarea> 
    <input type="submit" value="Submit"> 
</form> 

JS:

<script language="JavaScript"> 
var frmvalidator = new Validator("contactform"); 
frmvalidator.addValidation("name","req","Please provide your name"); 
frmvalidator.addValidation("email","req","Please provide your email"); 
frmvalidator.addValidation("email","email", 
    "Please enter a valid email address"); 
</script> 

PHP:

<?php 
$errors = ''; 
$myemail = '[email protected]';//<-----Put Your email address here. 
if(empty($_POST['name']) || 
    empty($_POST['email']) || 
    empty($_POST['message'])) 
{ 
    $errors .= "\n Error: all fields are required"; 
} 
$name = $_POST['name']; 
$email_address = $_POST['email']; 
$message = $_POST['message']; 
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", 
$email_address)) 
{ 
    $errors .= "\n Error: Invalid email address"; 
} 

if(empty($errors)) 
{ 
$to = $myemail; 
$email_subject = "Contact form submission: $name"; 
$email_body = "You have received a new message. ". 
" Here are the details:\n Name: $name \n ". 
"Email: $email_address\n Message \n $message"; 
$headers = "From: $myemail\n"; 
$headers .= "Reply-To: $email_address"; 
mail($to,$email_subject,$email_body,$headers); 
//redirect to the 'thank you' page 
header('Location: contact-form-thank-you.html'); 
} 
?> 
+0

nếu bạn đọc những nhận xét vào liên kết được cung cấp, không có email gửi ra như kết quả của các mã trên. – Tempo

2

Bạn không thể, HTML không thể gửi thư, bạn cần một ngôn ngữ phía máy chủ (ví dụ: PHP, ASP ..).

5

bạn có thể sử dụng Biểu mẫu liên hệ đơn giản trong HTML với trình gửi thư PHP. Thật dễ dàng để thực hiện trong trang web của bạn.Bạn có thể thử bản demo từ đường dẫn sau: Simple Contact/Feedback Form in HTML-PHP mailer

Nếu không, bạn có thể xem video giới thiệu tại liên kết sau: Youtube: Simple Contact/Feedback Form in HTML-PHP mailer

Khi bạn đang chạy ở localhost, bạn có thể bị lỗi sau:

Warning: mail(): Failed to connect to mailserver at "smtp.gmail.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in S:\wamp\www\sample\mailTo.php on line 10

Bạn có thể kiểm tra liên kết này để biết thêm thông tin chi tiết: Simple Contact/Feedback Form in HTML with php (HTML-PHP mailer) Và đây là ảnh chụp màn hình của biểu mẫu HTML: Simple Form

Và đây là PHP chính mã hóa:

<?php 
if($_POST["submit"]) { 
    $recipient="[email protected]"; //Enter your mail address 
    $subject="Contact from Website"; //Subject 
    $sender=$_POST["name"]; 
    $senderEmail=$_POST["email"]; 
    $message=$_POST["comments"]; 
    $mailBody="Name: $sender\nEmail Address: $senderEmail\n\nMessage: $message"; 
    mail($recipient, $subject, $mailBody); 
    sleep(1); 
    header("Location:http://blog.antonyraphel.in/sample/"); // Set here redirect page or destination page 
} 
?> 
Các vấn đề liên quan