Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cabral51

Da uma olhadinha nesse envia email

Recommended Posts

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

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

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

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

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

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

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

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

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

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

beleza...Ainda está dando o mesmo erro?Se precisar poste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

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

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

O problema não está no seu split?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.