Ir para conteúdo
Fórum Script Brasil
  • 0

Formulario de Contato


rodpereira

Pergunta

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 contato. 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 arquivo forms.js e o mesmo no arquivo contato.html

Abaixo coloquei o código de cada arquivo.

Dúvida: Uma vez que realmente não consigo fazer com que funcione, apesar de ter acompanhado as instruções do fabricante e 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 alguém que possa ajudar-me..como deu para notar os meus conhecimentos são fraquinhos e conto com a vossa ajuda!!

Obrigado.

codigo do arquivo contato.html

_____________

<!DOCTYPE html>

<html lang="en">

<head>

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

<!--[if lt IE 8]>

<div style= clear: both; text-align:center; position: relative;'>

<a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home?ocid=ie6_countdown_bannercode">

<img src="http://storage.ie6countdown.com/assets/100/images/banners/warning_bar_0000_us.jpg" border="0" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." />

</a>

</div>

<![endif]-->

<!--[if lt IE 9]>

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

<link rel="stylesheet" href="css/ie.css">

<![endif]-->

</head>

<body>

<!-- header -->

<header class="padheader">

<div class="container_24">

<div class="grid_24">

<h1 class="fleft"><a href="index.html">Glosey</a></h1>

<ul class="sf-menu">

<li><a href="index.html">Home</a></li>

<li><a href="index-1.html">Company<span class="arrow"></span></a><ul>

<li><a href="#">History</a></li>

<li><a href="#">Work Team</a></li>

<li><a href="#">Profile</a><ul>

<li><a href="#">Mission</a></li>

<li><a href="#">Capabilities</a></li>

<li><a href="#">Support</a></li>

<li><a href="#">Partnership</a></li>

</ul>

</li>

<li><a href="#">Testimonials</a></li>

</ul>

</li>

<li><a href="index-2.html">Services</a></li>

<li><a href="index-3.html">Solutions</a></li>

<li><a href="index-4.html">Projects</a></li>

<li class="current"><a href="index-5.html">Contacts</a></li>

</ul>

<div class="clear"></div>

</div>

<div class="clear"></div>

</div>

</header>

<!-- content -->

<section>

<div class="bg">

<div class="container_24">

<div class="wrapper">

<div class="grid_24 padtop33">

<h4>Contact Form</h4>

<form id="contact-form">

<div class="success"> Contact form submitted! <strong>We will be in touch soon.</strong></div>

<fieldset>

<div class="wrapper">

<div class="grid_8 suffix_1 alpha">

<label class="name">

<input type="text" value="Name">

<span class="error">*This is not a valid name.</span>

<span class="empty">*This field is required.</span>

<span class="clear"></span>

</label>

<label class="email">

<input type="text" value="Email">

<span class="error">*This is not a valid email address.</span>

<span class="empty">*This field is required.</span>

<span class="clear"></span>

</label>

<label class="phone">

<input type="text" value="Phone">

<span class="error">*This is not a valid phone number.</span>

<span class="empty">*This field is required.</span>

<span class="clear"></span>

</label>

</div>

<div class="grid_13 suffix_2 omega">

<label class="message">

<textarea>Message</textarea>

<span class="error">*The message is too short.</span>

<span class="empty">*This field is required.</span>

<span class="clear"></span>

</label>

<div class="buttons"><span><a class="button" data-type="reset">Clear</a></span><span><a class="button" data-type="submit">Submit</a></span></div>

</div>

</div>

</fieldset>

</form>

</div>

</div>

</div>

</div>

<div class="container_24">

<div class="">

<div class="grid_6 padtop22">

<h4 class="padbot2">Address</h4>

<address class="contacts">

<p>&nbsp;</p>

</address>

</div>

<div class="grid_10 suffix_1 padtop22">

<h4 class="padbot2">Map</h4>

<div class="box-img map"></div>

</div>

<div class="grid_7 padtop22">

<h4 class="padbot2">Find Us Elsewhere</h4>

<ul class="icons icons2">

<li><a href="#"><img src="images/icon2-1.png" alt=""></a></li>

<li><a href="#"><img src="images/icon2-2.png" alt=""></a></li>

<li><a href="#"><img src="images/icon2-3.png" alt=""></a></li>

<li><a href="#"><img src="images/icon2-4.png" alt=""></a></li>

<li><a href="#"><img src="images/icon2-5.png" alt=""></a></li>

</ul>

<ul class="list4">

<li><a href="#">Facebook</a></li>

<li><a href="#">Forrst</a></li>

<li><a href="#">Linkedln</a></li>

<li><a href="#">Skype</a></li>

<li><a href="#">Twitter</a></li>

<li><a href="#">YourVersion</a></li>

</ul>

</div>

<div class="clear"></div>

</div>

</div>

</section>

<!-- footer -->

<footer class="">

<div class="container_24">

<div class="wrapper">

<div class="grid_24"><a href="index.html" class="link"><img src="images/logo-footer.png" alt=""></a> &copy; 2012 | <a href="index-6.html">Privacy Policy</a></div>

</div>

</div>

</footer>

</body>

</html>

_________________________

codigo do arquivo forms.js

_________

(function($){

$.fn.extend({

forms:function(opt){

if(opt===undefined)

opt={}

this.each(function(){

var th=$(this),

data=th.data('forms'),

_={

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:{

".name":{rx:/^[a-zA-Z][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},

".state":{rx:/^[a-zA-Z'][a-zA-Z-' ]+[a-zA-Z']?$/,target:'input'},

".email":{rx:/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i,target:'input'},

".phone":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},

".fax":{rx:/^\+?(\d[\d\-\+\(\) ]{5,}\d$)/,target:'input'},

".message":{rx:/.{20}/,target:'textarea'}

},

preFu:function(){

_.labels.each(function(){

var label=$(this),

inp=$(_.targets,this),

defVal=inp.val(),

trueVal=(function(){

var tmp=inp.is('input')?(tmp=label.html().match(/value=['"](.+?)['"].+/),!!tmp&&!!tmp[1]&&tmp[1]):inp.html()

return defVal==''?defVal:tmp

})()

trueVal!=defVal

&&inp.val(defVal=trueVal||defVal)

label.data({defVal:defVal})

inp

.bind('focus',function(){

inp.val()==defVal

&&(inp.val(''),_.hideEmptyFu(label),label.removeClass(_.invalidCl))

})

.bind('blur',function(){

_.validateFu(label)

if(_.isEmpty(label))

inp.val(defVal)

,_.hideErrorFu(label.removeClass(_.invalidCl))

})

.bind('keyup',function(){

label.hasClass(_.invalidCl)

&&_.validateFu(label)

})

label.find('.'+_.errorCl+',.'+_.emptyCl).css({display:'block'}).hide()

})

_.success=$('.'+_.successCl,_.form).hide()

},

isRequired:function(el){

return !el.hasClass(_.notRequiredCl)

},

isValid:function(el){

var ret=true

$.each(_.rx,function(k,d){

if(el.is(k))

ret=d.rx.test(el.find(d.target).val())

})

return ret

},

isEmpty:function(el){

var tmp

return (tmp=el.find(_.targets).val())==''||tmp==el.data('defVal')

},

validateFu:function(el){

el.each(function(){

var th=$(this)

,req=_.isRequired(th)

,empty=_.isEmpty(th)

,valid=_.isValid(th)

if(empty&&req)

_.showEmptyFu(th.addClass(_.invalidCl))

else

_.hideEmptyFu(th.removeClass(_.invalidCl))

if(!empty)

if(valid)

_.hideErrorFu(th.removeClass(_.invalidCl))

else

_.showErrorFu(th.addClass(_.invalidCl))

})

},

getValFromLabel:function(label){

var val=$('input,textarea',label).val()

,defVal=label.data('defVal')

return label.length?val==defVal?'nope':val:'nope'

}

,submitFu:function(){

_.validateFu(_.labels)

if(!_.form.has('.'+_.invalidCl).length)

$.ajax({

type: "POST",

url:_.mailHandlerURL,

data:{

name:_.getValFromLabel($('.name',_.form)),

email:_.getValFromLabel($('.email',_.form)),

phone:_.getValFromLabel($('.phone',_.form)),

fax:_.getValFromLabel($('.fax',_.form)),

state:_.getValFromLabel($('.state',_.form)),

message:_.getValFromLabel($('.message',_.form)),

owner_email:_.ownerEmail,

stripHTML:_.stripHTML

},

success: function(){

_.showFu()

}

})

},

showFu:function(){

_.success.slideDown(function(){

setTimeout(function(){

_.success.slideUp()

_.form.trigger('reset')

},_.successShow)

})

},

controlsFu:function(){

$(_.controls,_.form).each(function(){

var th=$(this)

th

.bind('click',function(){

_.form.trigger(th.data('type'))

return false

})

})

},

showErrorFu:function(label){

label.find('.'+_.errorCl).slideDown()

},

hideErrorFu:function(label){

label.find('.'+_.errorCl).slideUp()

},

showEmptyFu:function(label){

label.find('.'+_.emptyCl).slideDown()

_.hideErrorFu(label)

},

hideEmptyFu:function(label){

label.find('.'+_.emptyCl).slideUp()

},

init:function(){

_.form=this

_.labels=$('label',_.form)

_.preFu()

_.controlsFu()

_.form

.bind('submit',function(){

if(_.validate)

_.submitFu()

else

_.form[0].submit()

return false

})

.bind('reset',function(){

_.labels.removeClass(_.invalidCl)

_.labels.each(function(){

var th=$(this)

_.hideErrorFu(th)

_.hideEmptyFu(th)

})

})

_.form.trigger('reset')

}

}

if(!data)

(typeof opt=='object'?$.extend(_,opt):_).init.call(th),

th.data({cScroll:_}),

data=_

else

_=typeof opt=='object'?$.extend(data,opt):data

})

return this

}

})

})(jQuery)

_______

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Bom dia, cara pelo jeito as configurações de envio de email estão nesse arquivo MailHandler.php

Mas já que você diz que não está funcionando, não seria melhor entrar em contato com o fabricante e pedir um suporte ?

Olá, boa tarde!

Após contactar com o fabricante e com a empresa de alojamento a conclusão é que o servidor pede autenticação de SMTP para o envio.

A empresa de hospedagem mandou um exemplo de codigo em .php (abaixo).... é possível adaptar para o MailHandler.php de forma a ele enviar com autenticação smtp?

Código de exemplo para formulário fornecido pela empresa de alojamento:

__________

<?php

if(isset($_POST["submit"])){

$nome_completo = $_POST["nome_completo"];

$email = $_POST["email"];

$telefone = $_POST["telefone"];

$fax = $_POST["fax"];

$comentario = $_POST["comentario"];

require_once "Mail.php";

$from = "de@deminio.pt";

$to = "para@dominio.pt";

$subject = "Assunto do email";

$body = "Nome: ".$nome_completo;

$body.= "\n";

$body.= "Telefone: ".$telefone;

$body.= "\n";

$body.= "Fax:".$fax;

$body.= "\n";

$body.= "\n";

$body.= nl2br($comentario);

$smtpinfo["host"] = "localhost";

$smtpinfo["port"] = "25";

$smtpinfo["auth"] = true;

$smtpinfo["username"] = "dominio@dominio.com";

$smtpinfo["password"] = "password";

$headers = array ('From' => $from,

'To' => $to,

'Subject' => $subject);

$mail_object = Mail::factory("smtp", $smtpinfo);

$mail = $mail_object->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("<p>" . $mail->getMessage() . "</p>");

}else{

echo '<p><b>O seu comentario foi enviado com sucesso.</b></p>';

}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

<head>

<meta http-equiv=content-type" content="text/html; charset=UTF-8" />

<title>Formulario de contacto</title>

<style>

form ul

{

font-size:100%;

list-style-type:none;

margin:0;

padding:0;

width:100%;

}

#form_container

{

background:#fff;

margin:0 auto;

text-align:left;

width:640px;

}

form li

{

display:block;

margin:0;

padding:4px 5px 2px 9px;

position:relative;

}

</style>

</head>

<body>

<div id="form_container">

<h1>

<a>Formulário de contacto</a>

</h1>

<form method="post" action="">

<ul>

<li>

<label >Nome Completo </label>

<div>

<input name="nome_completo" maxlength="255" type="text"/>

</div>

</li>

<li>

<label>Email </label>

<div>

<input name="email" maxlength="255" type="text"/>

</div>

</li>

<li>

<label>Telefone </label>

<div>

<input name="telefone" maxlength="255" type="text"/>

</div>

</li>

<li>

<label>Fax </label>

<div>

<input name="fax" maxlength="255" type="text"/>

</div>

</li>

<li>

<label>Comentário </label>

<div>

<textarea name="comentario" maxlength="255"></textarea>

</div>

</li>

<li>

<input value="Enviar" name="submit" type="submit" />

</li>

</ul>

</form>

</div>

</body>

</html>

___________

Código do arquivo 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";

}

?>

___________

é possível adaptar este arquivo MailHandler.php para enviar com autentcação SMTP? Valeu!

Link para o comentário
Compartilhar em outros sites

  • 0
Acho que é possível sim, mas nunca enviei email com php como o exemplo que te passaram. Só usei o PHPmailer para enviar emails pelo php.

Só uma coisa. Você mesmo quem está desenvolvendo tudo ?

Olá, bom dia!

O desenvolvimento não está sendo feito por mim. Estou somente a adaptar o template e a dificuldade surigiu no fomulário de contato...para conseguir fazer com que o mailhandler.php possa enviar com autenticação smtp

Valeu!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...