%
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
' Loja Exemplo Locaweb
' Versão: 6.4
' Data: 12/09/06
' Arquivo: funcoes_mail.asp
' Versão do arquivo: 0.0
' Data da ultima atualização: 07/08/07
'
'-----------------------------------------------------------------------------
' Licença Código Livre: http://comercio.locaweb.com.br/gpl/gpl.txt
'-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
'##########################################################################################################
'SUB Envia_Email_recibo
' - Este arquivo inclui uma subrotina que envia uma mensagem de confirmacao para o cliente de sua compra, bem como o link do boleto, caso ele deseje imprimi-lo novamente
'##########################################################################################################
Sub Envia_Email_recibo(Conexao, EmailCliente, URLBoleto, LinhaDigitavel)
Call abre_xmlpedido(session("id_transacao"), objXML, objRoot)
Set raiz_dados_pedido = objRoot.selectSingleNode("dados_pedido[@id_transacao="&session("id_transacao")&"]")
'INTRODUCAO
IP = raiz_dados_pedido.getAttribute("ip_usado")
tipoEntrega = raiz_dados_pedido.getAttribute("opcao_frete")
meioPag = raiz_dados_pedido.getAttribute("forma_pagamento")
'DESCRIMINACAO
subtotal = 0
Set states = objXML.getElementsByTagName("dados_pedido[@id_transacao="&session("id_transacao")&"]/produto")
n_states = states.length
for i = 0 to (n_states - 1)
Set pagto = states.item(i)
nome_produto = pagto.getAttribute("nome_produto")
quantidade_produto = pagto.getAttribute("quantidade_produto")
valor_unitario = pagto.getAttribute("preco_unitario")
cor = Pega_DadoBanco("Cores","nome_cor","codigo_cor",pagto.getAttribute("codigo_cor"))
tamanho = pega_Tamanho(pagto.getAttribute("codigo_tamanho"))
varDESCRICAO = varDESCRICAO & nome_produto & Chr(13) & Chr(10)
If cor <> "" Then
varDESCRICAO = varDESCRICAO & Application("MailTxtReciboCor") & cor & Chr(13) & Chr(10)
End if
If tamanho <> "" Then
varDESCRICAO = varDESCRICAO & Application("MailTxtReciboTam") & tamanho & Chr(13) & Chr(10)
End if
varDESCRICAO = varDESCRICAO & Application("MailTxtReciboQtd") & quantidade_produto & Chr(13) & Chr(10)
varDESCRICAO = varDESCRICAO & Application("MailTxtReciboVlrUnit") & valor_unitario & Chr(13) & Chr(10) & Chr(13) & Chr(10)
Set pagto = Nothing
next
Set states = Nothing
'ADICIONAL
If Session("forma_pagamento") = "Boleto" or Session("forma_pagamento") = "ITAU" Then
varADICIONAL = varADICIONAL & Application("MailTxtReciboBoletoLink") & URLBoleto & Chr(13) & Chr(10)
If LinhaDigitavel <> "" AND LinhaDigitavel <> "0" Then
varADICIONAL = varADICIONAL & Chr(13) & Chr(10)
varADICIONAL = varADICIONAL & Application("MailTxtReciboBoletoDigital") & Chr(13) & LinhaDigitavel & Chr(13) & Chr(10) & Chr(13) & Chr(10)
End If
End If
'DADOS PARA COBRANÇA
If Session("razaosocial_cobranca") <> "" And Session("cnpj_cobranca") <> "" Then
varCOBRANCA = varCOBRANCA & Application("MailTxtReciboRazaoSocial") & Session("razaosocial_cobranca") & Chr(13) & Chr(10)
varCOBRANCA = varCOBRANCA & Application("MailTxtReciboCNPJ") & Session("cnpj_cobranca") & Chr(13) & Chr(10)
End If
varCOBRANCA = varCOBRANCA & Application("MailTxtReciboNome") & Session("nome_cobranca") & Chr(13) & Chr(10)
If Session("cpf_cobranca") <> "" Then
varCOBRANCA = varCOBRANCA & Application("MailTxtReciboCPF") & Session("cpf_cobranca") & Chr(13) & Chr(10)
End if
varCOBRANCA = varCOBRANCA & Application("MailTxtReciboTel") & "(" & Session("ddd_cobranca") & ") " & Session("telefone_cobranca") & Chr(13) & Chr(10)
varCOBRANCA = varCOBRANCA & Session("logradouro_cobranca") & ", " & Session("numero_cobranca")
If Session("complemento_cobranca") <> "" Then
varCOBRANCA = varCOBRANCA & " - " & Session("complemento_cobranca") & Chr(13) & Chr(10)
Else
varCOBRANCA = varCOBRANCA & Chr(13) & Chr(10)
End If
varCOBRANCA = varCOBRANCA & Session("bairro_cobranca") & " - " & Session("cep_cobranca") & Chr(13) & Chr(10)
varCOBRANCA = varCOBRANCA & Session("cidade_cobranca") & " - " & Session("estado_cobranca")
'DADOS PARA ENTREGA
If Session("cep_entrega") <> "" Then
cod_coluna = "_entrega"
Else
cod_coluna = "_cobranca"
End If
varENTREGA = varENTREGA & Application("MailTxtReciboNome") & Session("nome" & cod_coluna) & Chr(13) & Chr(10)
If Session("cpf" & cod_coluna) <> "" Then
varENTREGA = varENTREGA & Application("MailTxtReciboCPF") & Session("cpf" & cod_coluna) & Chr(13) & Chr(10)
End If
varENTREGA = varENTREGA & Application("MailTxtReciboTel") & "(" & Session("ddd" & cod_coluna) & ") " & Session("telefone" & cod_coluna) & Chr(13) & Chr(10)
varENTREGA = varENTREGA & Session("logradouro" & cod_coluna) & ", " & Session("numero" & cod_coluna)
If Session("complemento" & cod_coluna) <> "" Then
varENTREGA = varENTREGA & " - " & Session("complemento" & cod_coluna) & Chr(13) & Chr(10)
Else
varENTREGA = varENTREGA & Chr(13) & Chr(10)
End If
varENTREGA = varENTREGA & Session("bairro" & cod_coluna) & " - " & Session("cep" & cod_coluna) & Chr(13) & Chr(10)
varENTREGA = varENTREGA & Session("cidade" & cod_coluna) & " - " & Session("estado" & cod_coluna)
'PARAMETROS DO CORPO DO EMAIL
arrayInfo = "<\$nome\$>#LW#"& Session("nome_cobranca") &"|LW|"
arrayInfo = arrayInfo & "<\$Nomeloja\$>#LW#"& Application("nomeloja") &"|LW|"
arrayInfo = arrayInfo & "<\$data\$>#LW#"& Date &"|LW|"
arrayInfo = arrayInfo & "<\$horas\$>#LW#"& Time &"|LW|"
arrayInfo = arrayInfo & "<\$numpedido\$>#LW#"& Session("codigo_pedido") &"|LW|"
arrayInfo = arrayInfo & "<\$DESCRICAO\$>#LW#"& varDESCRICAO &"|LW|"
arrayInfo = arrayInfo & "<\$subtotal\$>#LW#"& FormatCurrency(raiz_dados_pedido.getAttribute("valor_subtotal")) &"|LW|"
arrayInfo = arrayInfo & "<\$taxaenvio\$>#LW#"& FormatCurrency(raiz_dados_pedido.getAttribute("valor_frete")) &"|LW|"
arrayInfo = arrayInfo & "<\$total\$>#LW#"& FormatCurrency(raiz_dados_pedido.getAttribute("valor_total")) &"|LW|"
arrayInfo = arrayInfo & "<\$ADICIONAL\$>#LW#"& varADICIONAL &"|LW|"
arrayInfo = arrayInfo & "<\$COBRANCA\$>#LW#"& varCOBRANCA &"|LW|"
arrayInfo = arrayInfo & "<\$IP\$>#LW#"& IP &"|LW|"
arrayInfo = arrayInfo & "<\$tipoEntrega\$>#LW#"& tipoEntrega &"|LW|"
arrayInfo = arrayInfo & "<\$metpag\$>#LW#"& meioPag &"|LW|"
arrayInfo = arrayInfo & "<\$ENTREGA\$>#LW#"& varENTREGA
Set raiz_dados_pedido = Nothing
titulo = Replace(Application("MailTxtTitRecibo"), "varNomeloja", Application("nomeloja")) & Session("codigo_pedido")
tipoMail = "mail_recibo"
' Prepara o conteudo do e-mail
corpoMail = prepara_texto_mail(tipoMail, varLang, arrayInfo)
' Ativa copia do e-mail ao lojista
cc = 1
' Verifica se o e-mail será enviado em formato texto ou html
If Application("FormatoMailLoja") = "texto" Then
Call funcao_mail(titulo, EmailCliente, corpoMail, cc)
Else
corpoMail = Replace(corpoMail, Chr(13), "
")
Call funcao_mail_html(titulo, EmailCliente, corpoMail, cc)
End If
End Sub
'########################################################################################################
'--> FIM SUB Envia_Email_recibo
'########################################################################################################
'========================================================================================================
'########################################################################################################
'FUNCTION Envia_mail_confirmacao
' - Envia e-mail de confirmação de cadastro para recebimento de newsletter
'########################################################################################################
Function Envia_mail_confirmacao(e_mail,nome,idunico)
'Se a loja estiver em ambiente seguro
If Session("URLloja") = true Then
URLloja = Session("URLloja")
'Se a loja estiver fora do ambiente seguro.
Else
URLloja = Application("URLLoja")
End If
URLconfirmar = URLloja & "/insere_delete_news.asp?idunico=" & idunico & "&email=" & e_mail & "&bt_newsletter=Confirmo&origem=Notif"
URLremover = URLloja & "/insere_delete_news.asp?idunico=" & idunico & "&email=" & e_mail & "&bt_newsletter=Excluir&origem=Notif"
titulo = Application("MailTxtTitConfirmacao") & Application("nomeloja")
arrayInfo = "<\$nome\$>#LW#"& nome &"|LW|<\$email\$>#LW#" & e_mail &"|LW|<\$URLconfirmar\$>#LW#" & URLconfirmar &"|LW|<\$URLremover\$>#LW#" & URLremover &"|LW|<\$Nomeloja\$>#LW#" & Application("nomeloja")
tipoMail = "mail_confirmacao"
' Prepara o conteudo do e-mail
corpoMail = prepara_texto_mail(tipoMail, varLang, arrayInfo)
' Verifica se o e-mail será enviado em formato texto ou html
If Application("FormatoMailLoja") = "texto" Then
Call funcao_mail(titulo, e_mail, corpoMail, 0)
Else
corpoMail = Replace(corpoMail, Chr(13), "
")
Call funcao_mail_html(titulo, e_mail, corpoMail, 0)
End If
End Function
'########################################################################################################
'--> FIM SUB Envia_mail_confirmacao
'########################################################################################################
'========================================================================================================
'########################################################################################################
'FUNCTION Envia_mail_senha
' - envia senha esquecida cliente loja ou usuario da admnistração da loja
'########################################################################################################
Function Envia_mail_senha(e_mail,perfil_usuario,adicional)
Set RS_Usuario = Server.CreateObject("ADODB.Recordset")
if perfil_usuario = "loja" Then
RS_Usuario.Open "SELECT usuarios.chave FROM usuarios WHERE user_id = '" & e_mail & "'", Conexao
Elseif perfil_usuario = "admin" Then
RS_Usuario.Open "SELECT usuarios_admin.chave_admin, usuarios_admin.email_usuario, usuarios_admin.status FROM usuarios_admin WHERE user_id_admin = '" & e_mail & "'", Conexao
e_mail = RS_Usuario("email_usuario")
End if
If Not RS_Usuario.EOF Then
If perfil_usuario = "loja" Then
senha = RS_Usuario("chave")
tipoMail = "mail_reenviosenha_loja"
Elseif perfil_usuario = "admin" Then
senha = Encriptor(RS_Usuario("chave_admin"),"decriptar")
tipoMail = "mail_reenviosenha_admin"
End if
Envia_mail_senha = 1
Else
Envia_mail_senha = 0
RS_Usuario.Close
Conexao.Close
Set RS_Usuario = Nothing
Set Conexao = Nothing
Exit Function
End If
titulo = Application("MailTxtTitReenvioSenha") & Application("nomeloja")
arrayInfo = "<\$Nomeloja\$>#LW#"& Application("nomeloja") &"|LW|<\$Senha\$>#LW#" & senha
' Prepara o conteudo do e-mail
corpoMail = prepara_texto_mail(tipoMail, varLang, arrayInfo)
If adicional <> "" Then
e_mail = adicional
End if
' Verifica se o e-mail será enviado em formato texto ou html
If Application("FormatoMailLoja") = "texto" Then
Call funcao_mail(titulo, e_mail, corpoMail, 0)
Else
corpoMail = Replace(corpoMail, Chr(13), "
")
Call funcao_mail_html(titulo, e_mail, corpoMail, 0)
End If
RS_Usuario.Close
Set RS_Usuario = Nothing
End Function
'########################################################################################################
'--> FIM FUNCTION Envia_mail_senha
'########################################################################################################
'========================================================================================================
'########################################################################################################
'SUB Envia_Email_remessa
' - Envia notificacao ao cliente de que pacote foi colocado no correio
'########################################################################################################
Sub Envia_Email_remessa(RS_Pedido, num_remessa, codigo_pedido)
If RS_Pedido("email_entrega") <> "" Then
Email_cliente = RS_Pedido("email_entrega")
Else
Email_cliente = RS_Pedido("user_id")
End If
Titulo = Replace(Application("MailTxtTitRemessa"), "varNomeloja", Application("nomeloja"))
arrayInfo = "<\$codigo_pedido\$>#LW#"& codigo_pedido &"|LW|<\$Nomeloja\$>#LW#"& Application("nomeloja") &"|LW|<\$num_remessa\$>#LW#" & num_remessa
tipoMail = "mail_remessa"
cc = 1 'envia notificação pra loja inclusive. ( só pra checar ).
idiomaPedido = RS_Pedidos("sigla_idioma")
If idiomaPedido = "en_UK" Then
Titulo = "Your order in "& Application("nomeloja") &" is the way !"
ElseIf idiomaPedido = "en_US" Then
Titulo = "Your order in "& Application("nomeloja") &" is the way !"
Else
Titulo = "Seu pedido na "& Application("nomeloja") &" está a caminho !"
End If
' Prepara o conteudo do e-mail
corpoMail = prepara_texto_mail(tipoMail, idiomaPedido, arrayInfo)
' Verifica se o e-mail será enviado em formato texto ou html
If Application("FormatoMailLoja") = "texto" Then
Call funcao_mail(Titulo, Email_cliente, corpoMail, cc)
Else
corpoMail = Replace(corpoMail, Chr(13), "
")
Call funcao_mail_html(Titulo, Email_cliente, corpoMail, cc)
End If
End Sub
'########################################################################################################
'--> SUB Envia_Email_remessa
'########################################################################################################
'========================================================================================================
'########################################################################################################
'FUNCTION funcao_mail
' - função para disparo de e-mail em formato texto
'########################################################################################################
Function funcao_mail(Titulo, Email_cliente, message, cc)
Set Mailer = Server.CreateObject("SoftArtisans.SMTPMail")
Mailer.FromName = Application("NomeLoja")
Mailer.FromAddress = Application("MailLoja")
Mailer.RemoteHost = Application("SMTPLoja")
Mailer.AddRecipient "", Email_cliente
' Define o charset do e-mail para 'ISO 8859-1'
Mailer.CharSet = 2
' copia para a loja
If (cc = 1) Then
'e-mail do destinatário(loja)
Mailer.AddBCC ""&Application("NomeLoja")&"", ""&Application("MailLoja")&""
End If
'--- CharSet for Arabic (Windows)
Mailer.CustomCharSet = windows-1251
Mailer.Subject = Titulo
Mailer.BodyText = desencode(message)
Mailer.SendMail
If Err = 0 Then
funcao_mail = 0
Else
funcao_mail = 1
End if
Set Mailer = Nothing
End Function
Function desencode(frase)
For i= 1 to 255
desencode=Replace(frase,Server.URLEncode(chr(i)),chr(i))
frase=desencode
Next
End Function
'########################################################################################################
'--> FIM FUNCTION funcao_mail
'########################################################################################################
'========================================================================================================
'########################################################################################################
'FUNCTION funcao_mail_html
' - função para disparo de e-mail em formato HTML
'########################################################################################################
Function funcao_mail_html(Titulo, Email_cliente, message, cc)
Set Mailer = Server.CreateObject("SoftArtisans.SMTPMail")
Mailer.FromName = Application("NomeLoja")
Mailer.FromAddress = Application("MailLoja")
Mailer.RemoteHost = Application("SMTPLoja")
Mailer.AddRecipient "", Email_cliente
' Define o charset do e-mail para 'ISO 8859-1'
Mailer.CharSet = 2
' copia para a loja
If (cc = 1) Then
'e-mail do destinatário(loja)
Mailer.AddBCC ""&Application("NomeLoja")&"", ""&Application("MailLoja")&""
End If
Mailer.Subject = Titulo
Mailer.HtmlText = message
Mailer.SendMail
If Err = 0 Then
funcao_mail_html = 0
Else
funcao_mail_html = 1
End if
Set Mailer = Nothing
End Function
'########################################################################################################
'--> FIM FUNCTION funcao_mail_html
'########################################################################################################
'========================================================================================================
'########################################################################################################
'FUNCTION prepara_texto_mail
' - Prepara o corpo do texto dos e-mails antes do envio
'########################################################################################################
Function prepara_texto_mail(tipoMail, varLang, arrayInfo)
If varLang = "" Then
varLang = Application("IdiomaDefault")
End If
Set objArquivo = CreateObject("Scripting.FileSystemObject")
' Localiza o template do email
sArq = Application("DiretorioConfig") & "templates\" & varLang & "\" & tipoMail & ".txt"
' Lê o template do email
If objArquivo.FileExists(sArq) Then
Set objConteudoArquivo = objArquivo.OpenTextFile(sArq,1,True)
sMail = objConteudoArquivo.ReadAll
objConteudoArquivo.Close
Set objConteudoArquivo = Nothing
End If
' Formata o template do email
If (sMail <> "" AND NOT IsNull(sTexto)) Then
Set objRegExpr = New RegExp
objRegExpr.Global = True
objRegExpr.IgnoreCase = True
If instr(arrayInfo,"|LW|") <> 0 Then
sInfo = split(arrayInfo,"|LW|")
For i=0 to ubound(sInfo)
vInfo = split(sInfo(i),"#LW#")
objRegExpr.Pattern = ""& vInfo(0) &""
sMail = objRegExpr.Replace(sMail, ""& vInfo(1) &"")
Next
Else
vInfo = split(arrayInfo,"#LW#")
objRegExpr.Pattern = ""& vInfo(0) &""
sMail = objRegExpr.Replace(sMail, ""& vInfo(1) &"")
End If
' Retorna o template do email formatado
prepara_texto_mail = sMail
End If
Set objArquivo = Nothing
End Function
'########################################################################################################
'--> FIM FUNCTION prepara_texto_mail
'########################################################################################################
%>