Jump to content
Fórum Script Brasil
  • 0

Formulario de Contato


rodpereira
 Share

Question

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:'[email protected]', 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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 = "[email protected]";

$to = "par[email protected]";

$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"] = "[email protected]";

$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 to comment
Share on other 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 ?

Edited by dinohills
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.4k
×
×
  • Create New...