2011-11-23 4 views
36

Wiem, że istnieje wiele przykładów użycia akcji mailto: post do wysyłania wiadomości e-mail przy użyciu tylko formularza html.Jak utworzyć formularz e-mail, który może wysyłać wiadomości e-mail za pomocą html

Ale użycie tego spowoduje wyświetlenie okna dialogowego Wyślij e-mail, np. okno dialogowe programu Outlook i faktycznie używa własnego serwera smtp do wysyłania wiadomości e-mail.

Czy mimo to można utworzyć formularz HTML, który po wysłaniu wyśle ​​wiadomość e-mail?

E.g. jeśli używasz innych apk javascript może osiągnąć ten efekt? powiedz np. node.js?

Czy ktoś może dostarczyć próbki kodu?

Odpowiedz

3

Sam HTML nie będzie wysyłać wiadomości e-mail. Będziesz potrzebować czegoś, co łączy się z serwerem SMTP, aby wysłać wiadomość e-mail. W związku z tym Outlook wyskakuje z mailto: w przeciwnym razie formularz przechodzi na serwer, który ma skrypt wysyłający e-maile.

4

Nie możesz, jedyne co możesz zrobić za pomocą html, to otwórz domyślną aplikację e-mail. Musisz użyć kodu serwera, aby wysłać wiadomość e-mail, php, asp .net ....

3

Nie możesz wysyłać wiadomości e-mail przy użyciu javascript lub html. Do wysyłania wiadomości e-mail potrzebne są skrypty po stronie serwera w php lub innych technologiach.

38

Tak jak mówili inni, nie można. Możesz znaleźć dobre przykłady formularzy HTML-php w Internecie, tutaj jest bardzo przydatny link, który łączy HTML z javascript do sprawdzania poprawności i php do wysyłania wiadomości e-mail.

Proszę sprawdzić cały artykuł (zawiera przykładowe ZIP) w źródle: 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

jeśli czytasz ten komentarz na podany link, nie ma e-mail wysyłane w wyniku powyższe kody. – Tempo

2

Nie można, HTML nie może wysyłać wiadomości e-mail, potrzebny jest język po stronie serwera (przykład: PHP, ASP ..).

5

możesz użyć prostego formularza kontaktowego w HTML z programem PHP mailer. Jest łatwy do wdrożenia na twojej stronie internetowej.Można wypróbować demo z poniższego linku: Simple Contact/Feedback Form in HTML-PHP mailer

W przeciwnym razie można obejrzeć film demo w poniższym linku: Youtube: Simple Contact/Feedback Form in HTML-PHP mailer

Kiedy uruchomiony w localhost, może pojawić się następujący błąd:

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

Możesz sprawdzić w tym linku, aby uzyskać bardziej szczegółowe informacje: Simple Contact/Feedback Form in HTML with php (HTML-PHP mailer) I to jest zrzut ekranu formularza HTML: Simple Form

I to jest główny kodowanie PHP:

<?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 
} 
?>