Jump to content

Formulario de Contacto de template


rodpereira
 Share

Recommended Posts

Olá a todos;

Fiz a inscrição neste forum para procurar ajuda, espero estar a colocar no tema certo...

Estou a trabalhar num template que possui um formulário de contacto. Segundo as instruções do fabricante, para podermos fazer com que envie para o nosso e-mail, basta mudar o ownerEmail:'#', para algo do tipo: ownerEmail:'nome@dominio.com', no ficheiro forms.js e o mesmo no ficheiro contacto.html

Abaixo coloquei uma parte da linha de cada código.

Dúvida: Uma vez que realmente não consigo fazer com que funcione, apesar de ter inserido um e-mail do próprio domínio onde está alojado, gostaria de confirmar de conseguiria alterar o código para poder enviar o e-mail do formulário para por exemplo um endereço no Gmail. (seria necessário indicar o smtp, porta, user, password, etc) para conseguir?

Desde já agradeço alguem que possa ajudar-me..como deu para notar meu conhecimento são fraquinhos e conto com a vossa ajuda!!

Obrigado.

ficheiro forms.js

________________

errorCl:'error',

emptyCl:'empty',

invalidCl:'invalid',

notRequiredCl:'notRequired',

successCl:'success',

successShow:'4000',

mailHandlerURL:'bin/MailHandler.php',

ownerEmail:'#',

stripHTML:true,

smtpMailServer:'localhost',

targets:'input,textarea',

controls:'a[data-type=reset],a[data-type=submit]',

validate:true,

rx:{

________________

ficheiro contacto.html

__________

title>Contacts</title>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width; initial-scale=1.0">

<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">

<script src="js/jquery-1.7.1.min.js"></script>

<script src="js/script.js"></script>

<script src="js/forms.js"></script>

<script src="js/superfish.js"></script>

<script src="js/jquery.responsivemenu.js"></script>

<script src="js/FF-cash.js"></script>

<script>

$(function(){

$('#contact-form').forms({ownerEmail:'#'});

});

</script>

___________

Link to comment
Share on other sites

Olá, boa noite!

Criei uma pasta para colocar o site de teste, do tipo www.nomedodominio.com/sitedeteste

Dentro do directorio "sitedeteste" tenho o site com as pastas e ficheiros do site..que está tudo a funcionar....exceto o formulário 😞

o ficheiro MailHandler.php e também o fichiero MailHandler.ashx estão na pasta bin

Tipo....( www.nomedodominio.com/sitedeteste/bin ) e ( www.nomedodominio.com/sitedeteste/contacto.html )

Obrigado pela ajuda e por aceitar este desafio insolito..hehe

Segue abaixo os códigos dos ficheiros:

fichiero MailHandler.php

_______

<?php

$owner_email = $_POST["owner_email"];

$headers = 'From:' . $_POST["email"];

$subject = 'A message from your site visitor ' . $_POST["name"];

$messageBody = "";

if($_POST['name']!='nope'){

$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['email']!='nope'){

$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}else{

$headers = '';

}

if($_POST['state']!='nope'){

$messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['phone']!='nope'){

$messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['fax']!='nope'){

$messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";

$messageBody .= '<br>' . "\n";

}

if($_POST['message']!='nope'){

$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";

}

if($_POST["stripHTML"] == 'true'){

$messageBody = strip_tags($messageBody);

}

try{

if(!mail($owner_email, $subject, $messageBody, $headers)){

throw new Exception('mail failed');

}else{

echo 'mail sent';

}

}catch(Exception $e){

echo $e->getMessage() ."\n";

}

?>

______

Ficheiro fichiero MailHandler.ashx

____

<%@ WebHandler Language="C#" Class="Handler" Debug="true" %>

using System;

using System.Web;

using System.Net.Mail;

using System.Text.RegularExpressions;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) {

SmtpClient mailClient = new SmtpClient(context.Request.Form.Get("smtpMailServer"));

string owner_email = context.Request.Form.Get("owner_email");

string subject = "A message from your site visitor " + context.Request.Form.Get("name");

string email = context.Request.Form.Get("email");

string messageBody = "";

messageBody += "<p>Visitor: " + context.Request.Form.Get("name") + "</p>\n";

messageBody += "<br>\n";

messageBody += "<p>Email Address: " + context.Request.Form.Get("email") + "</p>\n";

messageBody += "<br>\n";

messageBody += "<p>Phone Number: " + context.Request.Form.Get("phone") + "</p>\n";

messageBody += "<br>\n";

messageBody += "<p>Message: " + context.Request.Form.Get("message") + "</p>\n";

MailMessage message = new MailMessage();

try{

message.From = new MailAddress(email.ToString());

}catch (FormatException e) {

context.Response.Write(e.Message);

}

message.To.Add(owner_email);

message.Subject = subject;

if(context.Request.Form.Get("stripHTML") == "true"){

message.IsBodyHtml = false;

messageBody = Regex.Replace(messageBody, "<.*?>", string.Empty);

}else{

message.IsBodyHtml = true;

}

message.Body = messageBody;

try{

mailClient.Send(message);

}catch (SmtpException e) {

context.Response.Write("mail failed");

}

context.Response.Write("mail sent");

}

public bool IsReusable {

get {

return false;

}

}

}

_______________

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.