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

Seguinte to abrindo este tópico pra facilitar a leitura e a ajuda já que o outro está com muitas informações...

Eu tenhu um formulário com um select de onde aparecem emails vindo do banco relacionado ao usuario e tb uma opção com todos, onde o usuário escolhe o email para qual deve ser enviado uma informação ou escolhe todos e o email será enviado para todos os emails relacionados a este usuário;.

 

Aqui o código do formulário:

<% @Language=VbScript %><% Option Explicit %><!--#include file="bibconexao.asp"--><%  RESPONSE.BUFFER = TRUE  session.LCID = 1046 Dim banco,tbBanco,tbBanco1,tbBanco2,msg,strsql,bancario,entid,codigox,empresa,wcor,listar,listar2,selectcampo,email,todos1,email1,email2,todos 	 entid=trim(request.QueryString("entid")) codigox=trim(request.QueryString("codigox")) email2=trim(request.form("email1")) todos1=trim(request.form("todos"))  call abre_banco %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Untitled Document</title></head><body>			<form action="envia_email.asp" method="get">				<select name="email" size="4" multiple>		  <option>selecione os campos para quem deseje enviar os emails</option>  </br>				<option selected>todos </option>		<%  	 	StrSql="Select email from clientes"		StrSql= StrSql & " where email is not null"		StrSql= StrSql & " order by email"		set tbBanco1=banco.Execute(strSQL)			while not tbbanco1.eof			%>		<option value="email1"><% =tbbanco1("email")%></option>		<% 		tbbanco1.movenext		wend		tbBanco1.Close		set tbBanco1=Nothing%> 		</select>	<input name="envia_email" type="submit" id="envia_email" value="Enviar Email">		</form>		<p> </p></body></html><%call fecha_banco%>

e aki o código do envia email:

<% @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 '	Dim para,assunto,nome,mensagem,email,id_loja,de,nome_loja,strsql,emails,tbbras1,telefone      codigox=request.QueryString("codigox")   entid=request.QueryString("entid")	   todos1=trim(request.form("todos"))  	 todos1=replace(todos1,"'","´") call abre_banco for i=0 to 255   email2=trim(request.form("Email1"))	 email2=replace(email2,"'","´")		  	  	  if "email2"=  "email1" then	   		StrSql= "Select email from clientes where Email=" & email2   		Set tbbanco1=banco.execute(strsql)		end if	 Next			 	   if "todos1"= "todos" then		  x=0		  Do until x=255		   		  StrSql= "Select email from clientes"  		  StrSql= StrSql & "where email is not null"    '   	  StrSql=  StrSql & "and codi.codicodi=cliente.codi"  		  set tbBanco1=banco.Execute(strSQL)		  x=x+1				  Loop 				 	 while not tbbanco1.eof 			 	  set Email = server.createobject("CDONTS.NewMail")  	  email.From = "felipecabral1451@msn.com"  	  email.To = "felipecabral1451@msn.com"  	  email.Subject = Teste  	  email.Body = "Teste de conteúdo"	  email.Send  	  set Email = nothing	 	tbbanco1.movenext	wend	tbBanco1.Close	set tbBanco1=Nothing 	  call fecha_bancoend if%>

ele não está enviando o email eu devo estar errando nos loops e com certeza na lógica, alguém pode ajudar???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não entendi o porquê desse loop:

Do until x=255
Outra coisa, não tem nenhum erro nessa linha?
StrSql=  StrSql & "and codi.codicodi=cliente.codi"
. Não seria codi.codi?

. Tem certeza que está pegando os dados corretos colocando "cliente.codi"?

 

Sugiro você fazer um teste, colocando assim:

StrSql= "Select email from clientes"  StrSql= StrSql & "where email is not null"  StrSql=  StrSql & "and codi.codicodi=cliente.codi"Response.Write(StrSql)Response.End()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não entendi o porquê desse loop:

Do until x=255
Outra coisa, não tem nenhum erro nessa linha?
StrSql=  StrSql & "and codi.codicodi=cliente.codi"
. Não seria codi.codi?. Tem certeza que está pegando os dados corretos colocando "cliente.codi"?Sugiro você fazer um teste, colocando assim:
StrSql= "Select email from clientes"  StrSql= StrSql & "where email is not null"  StrSql=  StrSql & "and codi.codicodi=cliente.codi"Response.Write(StrSql)Response.End()
Muito obrigado pela visualização do poste, hehe mais naum tem erro não, o cara do trampo que fez o bd q eh burro hAuehae, mas ta certinhu esta parte está correta, só a parte do envia email que esta errada, quanto ao loop ali que você disse sim está errado era só para fazer um teste, queria que me ajudasse a solucionar não to conseguindo pensar numa lógica, agradeço desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não estou com tempo agora para analizar o código, mas sugiro que você faça testes para localizar onde está o erro. Por exemplo, você sabe se o erro está na parte do formulário, do select ou do envio do email?Abraços e boa sorte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não estou com tempo agora para analizar o código, mas sugiro que você faça testes para localizar onde está o erro. Por exemplo, você sabe se o erro está na parte do formulário, do select ou do envio do email?Abraços e boa sorte.

entaum na parte do select, naum está pq ele mostra todos os emails que esta no banco de daods referente a algumusuario, suponhamos que você seja um empresario e tenha 5 emails de clientes, quando você entra ele mostra os 5 emails dos seus clientes, agora para que eu envie o email para os seus clientes que ta dando erro, erro naum, ele so naum envia

Compartilhar este post


Link para o post
Compartilhar em outros sites

entaum danilão tao online da uma olha la:www.grupomercosul.com.br/select/selectemail.aspquando você seleciona os nomes para enviar ele envia mas naum chega no email

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, tu postou no outro topico e nesse ..fica dificil ajudar assim...vamos manter somente nesse topico ok?Bom, em que ponto esta parado? qual erro? o que nao esta fazendo direito?me diz ai q eu te ajudo.

Bom cara no outro estava confuso eu ia dizer para fechar mas tive que ir embora do trampo...bom vamus lá vou passa os dois códigos primeiro o do select:
<% @Language=VbScript %><% Option Explicit %><!--#include file="bibconexao.asp"--><%  RESPONSE.BUFFER = TRUE  session.LCID = 1046 Dim banco,tbBanco,tbBanco1,tbBanco2,msg,strsql,bancario,entid,codigox,empresa,wcor,listar,listar2,selectcampo,email,todos1,email1,email2,todos 	 entid=trim(request.QueryString("entid")) codigox=trim(request.QueryString("codigox"))  call abre_banco %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Untitled Document</title></head><body>			<form action="envia_email.asp" method="post">				<select name="selecione" value="selecione" size="4" multiple>		  <option>selecione os campos para quem deseje enviar os emails</option>  </br>				<option selected value="todos">todos </option>		<%  	 	StrSql="Select email from clientes"		StrSql= StrSql & " where email is not null"		StrSql= StrSql & " order by email"		set tbBanco1=banco.Execute(strSQL)			while not tbbanco1.eof			%>		<option value=<% =tbbanco1("email")%>><% =tbbanco1("email")%></option>		<% 		tbbanco1.movenext		wend		tbBanco1.Close		set tbBanco1=Nothing%> 		</select>	<input name="envia_email" type="submit" id="envia_email" value="Enviar Email">		</form>		<p> </p></body></html><%call fecha_banco%>
e agora o de enviar:
<% @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 '	Dim para,assunto,nome,mensagem,email,id_loja,de,nome_loja,strsql,emails,tbbras1,telefone   call abre_banco   codigox=request.QueryString("codigox")   entid=request.QueryString("entid")	   condicao=trim(request.form("Selecione"))	 condicao=replace(condicao,"'","´")		  	  	  StrSql= "Select * from clientes"	  set tbbanco1=banco.execute(strsql)	  while not tbbanco1.eof		  if condicao="todos" then	   		StrSql= "Select email from clientes"		StrSql= StrSql & " where email is not null"	'response.Write(strsql)	'response.End()		Set tbbanco1=banco.execute(strsql)	 end if	if condicao<>"todos" then		 Strsql= "Select email from clientes "		 StrSql= StrSql & "where email=" &condicao		Set tbbanco1=banco.execute(strsql)		end if		tbbanco1.movenext	wend  	 while not tbbanco1.eof			   	 set Email = server.createobject("CDONTS.NewMail")  	 email.From = "felipecabral1451@msn.com"  	 email.To = "felipecabral1451@msn.com"  	 email.Subject = Teste  	 email.Body = "Teste de conteúdo" 	 email.Send  	 set Email = nothing	 	 tbbanco1.movenext	 wend	tbBanco1.Close	set tbBanco1=Nothing   call fecha_banco%>
o enviar esta confuso e errado, eu gostaria que o usuario enviasse um texto apenas para os emails que ele selecionou no select, se ele selecionou todos ele enviar email para todos os emails pertinentes a ele no banco, caso ele selecione apenas alguns este texto será enviado para os que ele selecionou, se ficou confuso me diz q eu explicoobrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae lucas valew pela ajuda, bom vamus la, ja está um list menu, com multiple para poder selecionar vários, ja mudei o value da um molhadinha eu editei o código, agora o envia email esta cheio de problemas, naum sei colocar o unbound naum sei fazer o request no value do select acredito que o request fica desta forma: condicao=trim(request.form(tbbanco1("email")) condicao=replace(condicao,"'","´") se eu estiver errado me corrija ai de resto naum sei mais nem o ubound,obrigado mesmo pela atençao

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom veiu valewzao te dei mo trabalho desculpa ae, deu esse erro aki oh:Tipo de erro:Erro de compilação do Microsoft VBScript (0x800A0400)Instrução esperada/select/envia_email.asp, line 50end ifnaum entendi pq inesperado, cara mais uma coisinha o unbound e l bound serve pra q se tiver um link de tuto agradeço!!Brigaduam mesmo!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo de erro:

Erro de tempo de execução do Microsoft VBScript (0x800A000D)

Tipos incompatíveis

/select/envia_email.asp, line 14

 

ta dando incompatibilidade do condicao com o request, e deu tb q era esperado o next mas ja colokei o codigo ta assim:

<% @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 '	Dim para,assunto,nome,mensagem,email,id_loja,de,nome_loja,strsql,emails,tbbras1,telefone   call abre_banco   codigox=request.QueryString("codigox")   entid=request.QueryString("entid")	   condicao=trim(request.form(tbbanco1("email")))	 condicao=replace(condicao,"'","´")		  	  	if condicao="todos" then	   	   StrSql= "Select email from clientes where email is not null"		Set tbbanco1=banco.execute(strsql)		while not  tbbanco1.eof  	set Email = server.createobject("CDONTS.NewMail")  	email.From = tbbanco1("email")  	email.To = "felipecabral1451@msn.com" 	email.Subject = "Teste"  	email.Body = "Teste de conteúdo"	email.Send  	set Email = nothing		tbbanco1.movenext	wend	tbBanco1.Close	set tbBanco1=Nothing  call fecha_banco	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 = "Teste"  	email.Body = "Teste de conteúdo"	email.Send  	set Email = nothing 	next	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta dando incompatibilidade ainda, eu trokei para <> null no selectemail e no envia e nada...Tipo de erro:Erro de tempo de execução do Microsoft VBScript (0x800A000D)Tipos incompatíveis/select/envia_email.asp, line 14

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas isso rola sempre, mesmo q você nao selecionar o "todos"???

sim mesmo q eu naum selecione o todos, eu acho que pra fazer o condicao=trim(request.form(tbbanco1("email"))) tem q ter um laço neh manu pq são varios emails no select

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu realemnte cometi um erro ali mas ja concertei ja colokei condicao=trim(request.form("selecione"))porém ele da um erro q ja deu antes:Tipo de erro:Objeto Server, ASP 0177 (0x800401F3)Seqüência de classe inválida /select/envia_email.asp, line 43pelo servidor ele envia, ja localmente da esse erro, mas mesmo pelo servidor o email não chega

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.