cabral51 0 Denunciar post Postado Julho 5, 2006 apareceu um probleminha aqui, deve ser facil resolver vamus ao erro: Microsoft VBScript runtime error '800a000d' Type mismatch: 'From' /select/enviaselectemail.asp, line 28 agora o código do enviaselectemail.asp: <% @Language=VbScript %><% Option Explicit %><!--#include file="bibconexao.asp"--><% RESPONSE.BUFFER = TRUE session.LCID = 1046' Banco de Dados e Tabelas' Variáveis Webbras Dim banco,tbBanco,tbBanco1,tbBanco2,msg,strsql,bancario Dim entid,codigox,empresa,wcor,listar,listar2,selectcampo,todos1,email1,email2,todos,i,x,j,condicao,condicao2,email ' Dim para,assunto,nome,mensagem,email,id_loja,de,nome_loja,strsql,emails,tbbras1,telefone call abre_banco codigox=request.form("codigox") entid=request.form("entid") condicao=trim(request.form("selecione")) condicao=replace(condicao,"'","´") if condicao="todos" then StrSql= "Select clientes.email, codi.e_mail" Strsql= StrSql & " from codi,clientes" Strsql= StrSql & " where email <> Null" Strsql= StrSql & " and codi.codicodi=clientes.codicli" Set tbbanco1=banco.execute(strsql)'response.Write(strsql)'response.End() while not tbbanco1.eof set Email = server.createobject("CDONTS.NewMail") email.From = tbbanco1("e_mail") email.To = "felipecabral1451@msn.com" email.Subject = "Atualize seu cadastro" email.Body = "Teste de conteúdo" email.Send set Email = nothing tbbanco1.movenext wend tbBanco1.Close set tbBanco1=Nothing end if condicao2= split(condicao,",") for I= lbound(condicao2) to UBound(condicao2) set Email = server.createobject("CDONTS.NewMail") email.From = condicao2(i) email.To = "felipecabral1451@msn.com" email.Subject = "Atualize seu cadastro" email.Body = "Teste de conteúdo" email.Send set Email = nothing nextcall fecha_banco response.Redirect("enviado.asp") %>ve se alguem consegue dar um help plx! Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 5, 2006 Tenta assim: email.From = CStr(tbbanco1("e_mail"))Verifica tb se o campo e-mail tá vindo preenchido. Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 5, 2006 deu esse erro, Microsoft VBScript runtime error '800a005e' Invalid use of Null: 'CStr' /select/enviaselectemail.asp, line 28 ele ta dando erro na clausula from do cdonts, email.from, o email ta vindo, porem so o email do cliente do codi naumpra q o cstr?? Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 5, 2006 CStr é uma função nativa do ASP q converte o dado para o tipo String.Tire o CStr(), comente essa linha com apóstrofo 'E na linha seguinte, digiteresponse.write IsNull(tbbanco1("e_mail"))E na seguinteresponse.endSe ele escrever True, é pq a sua consulta tá retornando esse campo em branco. (O comando IsNull retorna True caso a variável testada não tenha valor ou False caso possua algo.) Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 5, 2006 menos mal retornou false o que eu percebi antes com o repsonse, é que ele ta pegando outro email sem ser o do codi ele precisa pegar o email do codi pra poder ser enviado por emailele esta pegando o email do codi errado Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 5, 2006 consegui fazer ele pegar o emial certo do codi, da esse ero agora: Microsoft OLE DB Provider for ODBC Drivers error '80040e10' [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 2. /select/enviaselectemail.asp, line 23 vo mostrar o codigo como fikou if condicao="todos" then StrSql= " Select clientes.e_mail,codi.email" Strsql= StrSql & " from codi,clientes" Strsql= StrSql & " where codi.codicodi=" & codigox Strsql= StrSql & " and codi.codicodi=clientes.codicli" ' Strsql= StrSql & " order by email" Set tbbanco1=banco.execute(strsql)'response.Write(tbbanco1("e_mail"))'response.End() while not tbbanco1.eof set Email = server.createobject("CDONTS.NewMail") email.From = tbbanco1("clientes.e_mail") 'response.write IsNull(tbbanco1("e_mail")) 'response.End() email.To = "felipecabral1451@msn.com" email.Subject = "Atualize seu cadastro" email.Body = "Teste de conteúdo" email.Send set Email = nothing tbbanco1.movenext wend tbBanco1.Close set tbBanco1=Nothing end if Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 5, 2006 Dá uma olhada em www.aspfaq.com Em algum lugar, você está pedindo duas informações e passando 1 ou nenhum parâmetro. Strsql= StrSql & " where codi.codicodi=" & codigox Strsql= StrSql & " and codi.codicodi=clientes.codicli" ' Strsql= StrSql & " order by email" Set tbbanco1=banco.execute(Strsql) Verifica se a variável "codigox" está vindo com algum valor e altera o nome da variável na execução da query... o Strsql está com o s minúsculo, passa para maiúsculo. Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 5, 2006 bom o codigox esta vindo, e qto ao aumento do s para maiusculo, isso naum importa pq o asp naum eh case sensitive de qualquer forma mudei e naum adiantou, to sem nenhuma ideia do que pode ser, alias eu tenhu uma ideia, talvez o campo email.from= tbbanco1("email")esse conflito deve estar dando pq naum pode ter dois nomes email entedendeu???acho q eh isso Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 5, 2006 Só pq ele não é keysensitive você vai deixar esse tipo de coisa... Não é o correto...Não entendi o q você disse sobre o email... Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 5, 2006 eu sie joacitto eu ja retirei o minusculo e colokei maiusculo, mas quanto ao email eu estava errado to tentando achar uma soluçao qq coisa posto aki por enquanto obrigado plea ajuda Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 5, 2006 beleza...Ainda está dando o mesmo erro?Se precisar poste. Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 5, 2006 esta acontecendo outro erro agora naum envia para quando eu seleciono alguns emails, obrigado pela ajuda, vo tentar resolver, obrigado mesmo quando descobrir eu posto aki Compartilhar este post Link para o post Compartilhar em outros sites
Lucky 0 Denunciar post Postado Julho 6, 2006 Caros amigos, não cheguei a analizar todos os códigos postados mas antes de futricar neles experimente colocar na linha do .from um e-mail válido para aquele servidor que tu tá hospedando o site, isto é:Se tu tem um site chamado www.meusite.com.br então tu deve enviar emails pelo CDONTS usando uma conta no .from como suporte@meusite.com.brAlguns servers impedem o envio de emails se estes emails não sejam hospedados no proprio server (pra evitar spam), assim, um email como o teu primeiro, do msn, ou de algum cliente neste caso provavelmente não seria enviado e o erro nada tem a ver com a programação.Antes de tudo faz um teste usando no .from um e-mail válido para o servidor... Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 6, 2006 Caro amigo lucky este teste ja foi feito o erro que esta dando eh os eguinte quando eu coloco no .from assim:Tbbanco1("e_mail"), ele vai blza, quando eu ponho tbbanco1("email") ele da erro, mais uam coisa quando eu seleciono vários emails ele naum envia, isso deve ser pelo .from condicao2(i) naum sei vo analisar Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 6, 2006 Não sei se você já fez isso, mas...Um outro teste q você pode fazer é selecionar com TOP os primeiros (10, 20, sei lá) e não enviar... Dá um response na tela pra ir vendo os resultados. você tb pode ir testando os tipos pra saber o q está retornando... Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 6, 2006 entaum joacito eu fiz o teste assim, ali onde ta o condicao=reuqest.form embaixo eu colokei o response.write, beleza deu certo mostra todos emails que eu selecionei, ae ele naum entraria no if, pois o if eh para todos, porem quando eu ponho para printar na tela o condicao2 so mostra um email Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 6, 2006 O problema não está no seu split? Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 6, 2006 sim quando seleciono todos ele envia ja com emails q eu queira selecionar ele naum envia, agora como resolver isso q eu naum consigo enxergar Compartilhar este post Link para o post Compartilhar em outros sites
joacatito 0 Denunciar post Postado Julho 6, 2006 Qdo você imprime dentro do laço o condicao2 (q pelo q eu entendi é onde dá o erro) o q vai aparecendo? Compartilhar este post Link para o post Compartilhar em outros sites
cabral51 0 Denunciar post Postado Julho 6, 2006 bom vo colocar o código como está da uma olhadinha: <% @Language=VbScript %><% Option Explicit %><!--#include file="bibconexao.asp"--><% RESPONSE.BUFFER = TRUE session.LCID = 1046' Banco de Dados e Tabelas' Variáveis Webbras Dim banco,tbBanco,tbBanco1,tbBanco2,msg,bancario Dim entid,codigox,empresa,wcor,listar,listar2,selectcampo,todos1,email2,todos,i,x,j,condicao,condicao2 Dim para,assunto,nome,mensagem,email,id_loja,de,nome_loja,strsql,emails,tbbras1,telefone call abre_banco codigox=trim(request.form("codigox")) entid=trim(request.form("entid")) condicao=trim(request.form("selecione")) condicao=replace(condicao,"'","´") if condicao="todos" then StrSql= " Select clientes.email,codi.e_mail" Strsql= StrSql & " from codi,clientes" Strsql= StrSql & " where codi.codicodi=" & codigox Strsql= StrSql & " and codi.codicodi=clientes.codicli" ' Strsql= StrSql & " order by email" Set tbbanco1=banco.execute(Strsql) 'response.Write(strsql)'response.End() while not tbbanco1.eof set Email = server.createobject("CDONTS.NewMail") email.From = tbbanco1("e_mail") email.To = "felipecabral1451@msn.com" 'email1.To = tbbanco1("e_mail) email.Subject = "Atualize seu cadastro" email.Body = "Teste de conteúdo" email.Send set Email = nothing tbbanco1.movenext wend tbBanco1.Close set tbBanco1=Nothing call fecha_bancoend if if condicao="tbbanco1(email)" then condicao2= split(condicao,",") for I= lbound(condicao2) to UBound(condicao2) set Email = server.createobject("CDONTS.NewMail") email.From = condicao2(i) email.To = "felipecabral1451@msn.com" email.Subject = "Atualize seu cadastro" email.Body = "Teste de conteúdo" email.Send set Email = nothing next end if 'response.Redirect("enviado.asp") %> Compartilhar este post Link para o post Compartilhar em outros sites