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

alguém conheçe esse sistema MailHandler.PHP


tecsegbrasil

Pergunta

preciso de ajuda para cofigurar sistema de contato segue a programaçõa

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

}

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;

}

}

}

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:'infonetitapoa@gmail.com',

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)

se alguém tiver alguma ideia de como fazer ele enviar os emails fico no aguardo desculpe se postei no lugar errado novo aki ..

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...