Ir para conteúdo

POWERED BY:

Arquivado

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

LuX_

[Resolvido] Cdosys envia e-mails apenas as vezes

Recommended Posts

Olá pessoal, tenho um projeto de website hospedado na locaweb.

Uso CDOSYS para envio de email e funciona quase bem.

O problema é que ele manda o e-mail só quando quer! aushuahsuas é sério, eu tenho um e-mail no pop e funciona. Tenho um no terra que só manda as vezes.

O que fazer?

 

Querem dar uma olhada no código, pois ai está!

<!--#include file="connstring.asp" -->
<!--#include file="funcoes.asp" -->
<%
dim sql, banco,ok,cursor,lock
'Controle de cache graças ao I.E ¬¬
'HTTP/1.1
Response.CacheControl = "no-cache"
Response.AddHeader "cache-control","no-cache"
'HTTP/1.0
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1 ' minutos até a expiração
Response.Expiresabsolute = Now() ' data de expiração

if  antiSqlInjection() = true then
	response.redirect "cadastra.asp?q=char"
end if
sub valida_formulario()
	if len(trim(Request.Form("txtnome"))) < 2 then
		response.redirect "cadastra.asp?q=nome"
	end if
	if request.Form("txtsenha") <> Request.Form("txtconfirmasenha") then
		response.redirect "cadastra.asp?q=senha"
	end if
	
	if trim(replace(request.Form("txtcpf"),".","")) <> request.Form("txtcpf") then
		response.redirect "cadastra.asp?q=cpf"
	end if
	
	if trim(replace(request.Form("txtemail"),"@","")) = request.form("txtemail") then
		response.redirect "cadastra.asp?q=email"
	end if
	
	if not isnumeric(request.Form("txtoperadora")) then
		response.redirect "cadastra.asp?q=operadora"
	end if
end sub

sub testalogin()
	cursor = 3
	lock = 3
	sql = "Select * from tabusuarios where login_cliente='" & Request.Form("txtlogin") & "'"
	call connectBd
	
	if rs.EOF = false then
		rs.close
		set cn = nothing
		set rs = nothing
		response.redirect "cadastra.asp?q=existe"
	end if
	rs.close
	set rs = nothing
end sub

sub addbanco()
sql = "insert into tabusuarios(nome_cliente,sexo_cliente,estado,cidade_cliente,email_cliente,operadora_clie
nte,endereco_cliente,cpf_cliente,telefone_cliente,login_cliente,senha_cliente,dis
ponivel) values('" & trim(request.form("txtnome")) & "','" & request.Form("ssexo") & "','" & request.Form("sestado") & "','" & request.form("txtcidade") & "','" & request.Form("txtemail") & "','" & request.form("txtoperadora") & "','" & request.Form("txtendereco") & "','" & Request.Form("txtcpf") & "','" & request.Form("txttelefone") & "','" & request.Form("txtlogin") & "','" & request.Form("txtsenha") & "','N')"
call alterBd
set cn = nothing
ok = true
end sub

sub enviaEmail
on error resume next
dim p_strEmailFROM,p_strEmailTO,p_AssuntoEmail,p_strMensagem,strpagina,codigo_client
e
sql = "Select codigo_cliente from tabusuarios where login_cliente='" & trim(Request.Form("txtlogin")) & "'"
lock=1
cursor=0
call connectBd
codigo_cliente=rs("codigo_cliente")
rs.close
set cn = nothing
strpagina="http://www.luxiluminacao.com.br/projeto/sobe/confirm.asp?conf=78hyaiknm120487hd9374usijs83nd78fns9n3eduhe9fjdf8erje93rj&c=" & codigo_cliente
p_strEmailFROM = "Mailer Lux Iluminação <no-reply@luxiluminacao.com.br>"
p_strEmailTO =   trim(Request.Form("txtemail")) 					'"luan-webmaster@luxiluminacao.com.br"
p_strAssuntoEmail= "Lux Iluminação:Confirmação de Cadastro"
p_strMensagem = "<html><head></head><body><p>Essa mensagem foi enviada por Lux Iluminação e é automática, favor não responder</p><p>Você efetuou um cadastro no site www.luxiluminacao.com.br, mas é necessário cofirmá-lo. Para tal, clique <a href='" & strpagina & "'><font color='blue'>Aqui</font></a></p></body></html>"
Const strSMTP = "localhost"
		Dim objCDOSYS
		Dim objCDOSYSConf
		Set objCDOSYS		= Server.CreateObject("CDO.Message") 
		Set objCDOSYSConf	= Server.CreateObject ("CDO.Configuration") 
		'Configurando o envio de e-mail
		objCDOSYSConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP
		objCDOSYSConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
		objCDOSYSConf.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
		objCDOSYSConf.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30 
		objCDOSYSConf.Fields.update 
		Set objCDOSYS.Configuration = objCDOSYSConf 
		objCDOSYS.From		= p_strEmailFROM
		objCDOSYS.To		= p_strEmailTO
		objCDOSYS.Subject	= p_strAssuntoEmail	 
		objCDOSYS.HTMLBody	= p_strMensagem
		objCDOSYS.Send
		'Destruindo Objetos
		Set objCDOSYSConf = Nothing
		Set objCDOSYS = Nothing
if err.number <> 0 then
	response.write err.description
	response.end
end if
on error goto 0
end sub
'FIM DE SUBS
'FIM DE SUBS
'FIM DE SUBS
'FIM DE SUBS
'FIM DE SUBS
'FIM DE SUBS
'on error resume next
	call valida_formulario()
	call testalogin()
	call addbanco()
	call enviaEmail()
	'if err.number <> 0 then
	'	response.redirect "cadastra.asp?q=uerro"
	'end if
'on error goto 0
if ok = true then
	response.redirect "cadastra.asp?q=s"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Normalmente para enviar, pelo menos um dos e-mails tem que ser um e-mail existente utilizando o domínio do site. Verifica se quando funciona você está usando e-mails do site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão hargon, não entendi bem o que quis dizer...

qual e-mail você diz que tem que ser existente?

O do que está enviando?

O que está enviando (no-reply@luxiluminacao.com.br) não existe, e funciona apenas as vezes, como eu descrevi.

Os emails dos destinatários (obviamente né xD) existem e no terra ele só funciona de vez em quando! obrigado pela aenção e espero que possa me ajudar!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo menos um dos e-mails que está enviando ou recebendo tem que existir no servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok! acabo de criar o email no-reply@luxiluminacao.com.br

 

Vou fazer o teste e já falo!

valew desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon!

Infelizmente não chegou!

Chegou para o outro email normalmente que é o do pop...

mas para o do terra não vai! o que fazer agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando não chega da mensagem de erro?

 

Verifica no e-mail no-reply se não retornou alguma mensagem de erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hargon!

Não chegou mensagem nenhuma de erro!

E me deparei com algo, no mínimo, engraçado.

Os emails chegaram no terra todos hoje!

eu fiz uma penca de testes e demorou longas horas para chegar, sendo que os emails que eu tava recebendo de amigos ou de outros sites com e-mails automáticos tavam chegando logo.

Alguma idéia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Envie um e-mail do seu email@dominio para uma conta do Terra e veja se vai chegar no mesmo momento.

 

Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na hora de verificar se havia mensagem de erro eu vacilei e entrei no outro e-mail auhsaushaus

Então hargon, tinha uma mensagem de aviso de atraso.

E eu resolvi mandar um e-mail manual do no-reply e não chegou instantaneamente no terra.

estranho né?

Engraçado que mandando pelo meu outro e-mail que é do domínio também ele chega logo!

Então o problema está no e-mail do no-reply? Como proceder? Reclamar na hospedeira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse caso é melhor entrar em contato com a empresa que hospeda o e-mail.

 

Pois você citou acima que é a Locaweb, e desde o último mês eles estão com problemas de atraso no envio e recebimento de e-mail, talvez tenha alguma relação, apesar deles dizerem que já foi resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi! Vou verificar por lá Obrigado hargon.

O mais estranho é que isso ocorre apenas no terra!

E o que dificulta mais ainda a diagnosticação do caso é que, as vezes ele manda na hora, outras vezes não!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas existe todo um processo para enviar um e-mail. Não é só você enviar que ele já chega no outra conta. Existem rotas a serem percorridas até chegar no outro servidor, e o outro servidor ainda tem que processar o e-mail e colocar na caixa de entrada do usuário.

 

Existe a possibilidade de demorar mais por está usando a conta no-reply@. Talvez no Terra tenha alguma verificação para saber se é SPAM ou não antes de entregar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas isso ocorre com outros e-mails também!

tentei com o meu email do monínio e deu na mesma! não chegou até agora!

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.