rodpereira Posted July 19, 2012 Report Share Posted July 19, 2012 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 More sharing options...
HappyHippyHippo Posted July 20, 2012 Report Share Posted July 20, 2012 tens isso bem configurado ? dá uma vista de olhos no ficheiro : mailHandlerURL:'bin/MailHandler.php', IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
rodpereira Posted July 20, 2012 Author Report Share Posted July 20, 2012 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now