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

Dica: Function Para Funcionar Todos Cpnt. Email.


acid_burn

Pergunta

Ae pessoal tudo bem,

bom vou deixar uma solução interessante que vale ter antes de rabiscar um projeto universal, pois sempre que deixamos um codigo disponivel cmo free ou programamos um sistema que venderemos para clientes de diferentes provedores, então vale ter essa funciton, pois nem todos provedores poderão praticar o mesmo componente que você está acostumado a usar !

Este código roda em Windows 2000/NT/XP/ME/98 e servidores UNIX-LINUX com chilli ! ASP

Crie um arquivo config.asp

e lá configure as seguintes strings:

CfgHost = "smtp.seu_provedor.com.br" Aqui coloque seu provedor

CfgComponente = "seu_componente" Aqui coloque o compenente que está instalado no seu provedor ex: ASPMAIL, CDONTS, ETC..

Application("Host") = CfgHost

Application("Componente") = CfgComponente

Pronto seu config já está configurado, não esqueça de carregar como includeFile esses dois arquivos na pagina que ultilizará envio de email.

Agora crie o arquivo FctEmail.asp e coloque o codigo abaixo

<%

Function Enviar_Email(Host,ComponenteTipo,Email,NomeEmail,ParaEmail,Assunto,Mensagem)

Select Case Componente

Case "AspMail"

on error resume next

Set eObjMail = Server.CreateObject("SMTPsvg.Mailer")

eObjMail.FromName = NomeEmail

eObjMail.FromAddress = Email

eObjMail.RemoteHost = Host

eObjMail.AddRecipient "", ParaEmail

eObjMail.Subject = Assunto

eObjMail.ContentType = "text/html"

eObjMail.BodyText = Mensagem

eObjMail.SendMail

Set eObjMail = nothing

Case "AspEmail"

on error resume next

Set eObjMail = Server.CreateObject("Persits.MailSender")

eObjMail.Host = Host

eObjMail.From = Email

eObjMail.FromName = NomeEmail

eObjMail.AddReplyTo Email

eObjMail.AddAddress ParaEmail

eObjMail.Subject = Assunto

eObjMail.isHTML = true

eObjMail.Body = Mensagem

eObjMail.Send

Set eObjMail = nothing

Case "AspQmail"

on error resume next

Set eObjMail = Server.CreateObject("SMTPsvg.Mailer")

eObjMail.QMessage = 1

eObjMail.FromName = NomeEmail

eObjMail.FromAddress = Email

eObjMail.RemoteHost = Host

eObjMail.AddRecipient "", ParaEmail

eObjMail.Subject = Assunto

eObjMail.BodyText = Mensagem

objNewMail.SendMail

Set eObjMail = nothing

Case "CDONTS"

on error resume next

Set eObjMail = Server.CreateObject("CDONTS.NewMail")

eObjMail.to = ParaEmail

eObjMail.from = NomeEmail & "<" & Email & ">"

eObjMail.subject = Assunto

eObjMail.Importance = 1

eObjMail.BodyFormat = 0

eObjMail.MailFormat = 0

eObjMail.body = Mensagem

eObjMail.send

Set eObjMail = nothing

End Select

End Function

%>

Agora no arquivo que você enviará o email, ex: Formulário de contato você deve aplicar o seguinte codigo da function, ou seja, você não vai precisar ficar alterando o tipo de componente mais quando seu trabalho for vendido a um cliente.

Ao invé de colocar Set blá bla bla Server.CreateObject(la la la la ) e tudo você vai apenas inserir essa linha de comando:

<%

Enviar_Email Application("Host"), Application("Componente"), var_email, var_nome, var_email_para, var_assunto, var_mensagem

%>

Criei esta função para o código de um e-commerce que desenvolvi, o www.buyzone.com.br e até hj não deu nenhum erro !

Fácil né !!

Um abraço.

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

bacana cara!

Que você acha de postar ela no tópico de funções ..?

Se puder posta por lá..

o link do tópico de funções é:

http://scriptbrasil.com.br/forum/index.php?showtopic=17305

ate mais..

Dark

Link para o comentário
Compartilhar em outros sites

  • 0
bacana cara!

Que você acha de postar ela no tópico de funções ..?

Se puder posta por lá..

o link do tópico de funções é:

http://scriptbrasil.com.br/forum/index.php?showtopic=17305

ate mais..

Dark

Ok, foi mal ... não encontrei devido a pressa .. hahahaha

Mais é isso ae !! espero que esse codigo seja util.. tenho mais umas idéias por aqui !!! podem ter certeza que vou postar !!

Um abraço !!

Link para o comentário
Compartilhar em outros sites

  • 0

Com certeza brother!!!

Muita boa sua função e toda comunida ASP agradece!!!

E brother, se possível posta sempre logado, beleza?! biggrin.gif

E edita seu post lá em funções, pois tá como guest também.

Forte abraço smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
' date='Jun 8 2004, 01:21 AM'] Com certeza brother!!!

Muita boa sua função e toda comunida ASP agradece!!!

E brother, se possível posta sempre logado, beleza?! biggrin.gif

E edita seu post lá em funções, pois tá como guest também.

Forte abraço smile.gif

Se você acreditar, meu eu até tentei me logar, mas não foi de forma alguma, acabei de formatar meu pc, até eu peguei virus.. o da gripe .. hahahaha, é fogo meu... mas agora tá redondinho aqui !

Qualquer duvida vocês podem postar aqui que vou receber na hora aqui por email !

Valeu !!

Link para o comentário
Compartilhar em outros sites

  • 0
se eu entendi ele pega o componente que você escolheu e passa para o sistema né?

mais ai uma duvia e o JMAIL???

Basta acrescentar mais um case dentro do select !! neste caso com o JMAIL !!

Caso você já trabalhe com o JMAIL, sabe as config certo ?

Um abraço a todos.

Link para o comentário
Compartilhar em outros sites

  • 0

Dim Mail
Set Mail = Server.CreateObject("JMAIL.Message")                              
Mail.FromName = "[ GuTo ]" 'Remetente nome
Mail.From = "gutoasp@pop.com.br" 'Remetente endereço                 
Mail.AddRecipient "antonioaugusto@xmail.net" , "Antonio Augusto André Silveira"
'Destinatario endereco , Destinatario nome
Mail.Subject = "Fala ScriptBrasileiros..."                              
Mail.Body = "Olha ae que barbada... :D"
Mail.Send("mail.libihost.net")                          
Set Mail = Nothing

'Cópia comum: Mail.AddRecipientCC endereco, nome
'Cópia oculta: Mail.AddRecipientBCC endereco, nome
biggrin.gif
Dim obj_Mail

Set obj_Mail = Server.CreateObject("JMail.SMTPMail") 'Criando o objeto JMail para o envio

With obj_Mail
      	.ServerAddress = "mail.retrieve.com.br"
      	.Logging = True
      	.ContentType = "text/html" 'Setando para envio como HTML
      	.Charset = "US-ASCII"
      	.SenderName = siteNome
      	.Sender = siteEmail 'E-mail de quem está enviando; remetente
      	.AddRecipient email 'Para: destinatário email
      	.Subject = "Seu código/cadastro" 'Assunto	
      	.Body = htmlemail 'Corpo do email
      	'.ContentTransferEncoding = "8bit"
      	.Execute 'Tentando enviar
End with

Set obj_Mail = Nothing 'Destruindo o objeto

Corrigi este segundo, pois o FromName não existe nesse, e sim SenderName.

E aprimorei ele.

Editado por [ GuTo ]
Link para o comentário
Compartilhar em outros sites

  • 0

Isso mesmo!

1º.: é o JMAIL.Message

2º.: é o JMAIL.SMTPMail

Não sei quais as suas diferenças, mas acho eu que só usei até hj o 2º.

t+

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