Aldan Nunes Posted March 6, 2012 Report Share Posted March 6, 2012 (edited) Estou mandando disparar o email. ele sempre da um erro. o código do arquivo de envio segue abaixo.<!-- #include file = "config.asp" --><!-- #include file = "funcoes.asp" --><% byteCount = Request.TotalBytes RequestBin = Request.BinaryRead(byteCount) Set UploadRequest = CreateObject("Scripting.Dictionary") BuildUploadRequest RequestBin ' Caminho completo dos arquivos enviados caminho_anexo = UploadRequest.Item("anexo").Item("FileName") ' Nome dos arquivos enviados nome_anexo = Right(caminho_anexo,Len(caminho_anexo)-InstrRev(caminho_anexo,"\")) ' Conteudo binario dos arquivos enviados anexo = UploadRequest.Item("anexo").Item("Value") ' pasta onde as imagens serao guardadas pasta = Server.MapPath("informativos") nome_anexo = "/"&nome_anexo ' pasta + nome dos arquivos canexo = "www.atenas.edu.br/faculdade/adm/news/informativos"+nome_anexo ' Fazendo o Upload do arquivo selecionado if anexo <> "" then Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject") Set MyFile = ScriptObject.CreateTextFile(pasta & nome_anexo) For i = 1 to LenB(anexo) MyFile.Write chr(AscB(MidB(anexo,i,1))) Next MyFile.Close end if assunto = UploadRequest.Item("assunto").Item("Value") mensagem = UploadRequest.Item("mensagem").Item("Value") data = data() 'Abre a conexao com o banco de dadosSet Conex = Server.CreateObject ("ADODB.Connection") Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("banco_new.mdb")'Faz a listagem dos usuarios para pegar o nomeSet listar = Server.CreateObject("ADODB.Recordset")sql = "Select * from informativos"listar.open sql, conex, 1,1'Faz um whilewhile not listar.eof'Pega o nome e o email do usuarioSet nome = Server.CreateObject("ADODB.Recordset")sql = "Select * from informativos where id="&listar("id") &"and receber='1'"nome.open sql, conex, 1,1while not nome.eof'envia o e-mail Set objmail = Server.CreateObject("CDONTS.NewMail") objmail.from = nome_admin & "<"&email_admin&">" objmail.to = nome("email") objmail.subject = assunto objmail.body = "Olá <b>"& nome("nome") & "</b><br><br> " & mensagem & "</b><br><br> " & canexo objMail.Bodyformat = 0 objMail.MailFormat = 0 objmail.send 'Move para o próximo registronome.movenextwendlistar.movenextwend ' Conecta-se ao Banco de Dadosurl_conexao = Server.MapPath("InfEnv.mdb")set conexao = Server.CreateObject("ADODB.Connection")conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao ' atualiza o pedigreesql = "insert into informativos (assunto, mensagem, anexo, data) values ('"&assunto&"','"&mensagem&"','"&canexo&"','"&data&"')"Conexao.Execute(sql)' Redireciona após 5 segundosresponse.write "<br><br>você será redirecionado em 3 segundos..<br>"response.write "<meta http-equiv='refresh' content='3; url=default.asp'/>"%>Me ajudem por favor.O erro é este abaixo:Active Server Pages error 'ASP 0113'Script timed out/faculdade/adm/news/enviar_informativo.aspThe maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools. Edited March 6, 2012 by Aldan Nunes Quote Link to comment Share on other sites More sharing options...
0 -#Alea#- Posted March 7, 2012 Report Share Posted March 7, 2012 Acho que tu está estourando o Pool do servidor ainda mais usando banco ACCESS. Quote Link to comment Share on other sites More sharing options...
0 bareta Posted March 9, 2012 Report Share Posted March 9, 2012 voce pode aumentar o timeout (so pesquisa que já acha)mais lhe recomendo fazer a otimização do seu código...1- sempre feche as conexões e destrua os objetos recordset;2- faca uso de joins evitando loops aninhados; Quote Link to comment Share on other sites More sharing options...
Question
Aldan Nunes
Estou mandando disparar o email. ele sempre da um erro. o código do arquivo de envio segue abaixo.
<!-- #include file = "config.asp" -->
<!-- #include file = "funcoes.asp" -->
<%
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
' Caminho completo dos arquivos enviados
caminho_anexo = UploadRequest.Item("anexo").Item("FileName")
' Nome dos arquivos enviados
nome_anexo = Right(caminho_anexo,Len(caminho_anexo)-InstrRev(caminho_anexo,"\"))
' Conteudo binario dos arquivos enviados
anexo = UploadRequest.Item("anexo").Item("Value")
' pasta onde as imagens serao guardadas
pasta = Server.MapPath("informativos")
nome_anexo = "/"&nome_anexo
' pasta + nome dos arquivos
canexo = "www.atenas.edu.br/faculdade/adm/news/informativos"+nome_anexo
' Fazendo o Upload do arquivo selecionado
if anexo <> "" then
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Set MyFile = ScriptObject.CreateTextFile(pasta & nome_anexo)
For i = 1 to LenB(anexo)
MyFile.Write chr(AscB(MidB(anexo,i,1)))
Next
MyFile.Close
end if
assunto = UploadRequest.Item("assunto").Item("Value")
mensagem = UploadRequest.Item("mensagem").Item("Value")
data = data()
'Abre a conexao com o banco de dados
Set Conex = Server.CreateObject ("ADODB.Connection")
Conex.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath("banco_new.mdb")
'Faz a listagem dos usuarios para pegar o nome
Set listar = Server.CreateObject("ADODB.Recordset")
sql = "Select * from informativos"
listar.open sql, conex, 1,1
'Faz um while
while not listar.eof
'Pega o nome e o email do usuario
Set nome = Server.CreateObject("ADODB.Recordset")
sql = "Select * from informativos where id="&listar("id") &"and receber='1'"
nome.open sql, conex, 1,1
while not nome.eof
'envia o e-mail
Set objmail = Server.CreateObject("CDONTS.NewMail")
objmail.from = nome_admin & "<"&email_admin&">"
objmail.to = nome("email")
objmail.subject = assunto
objmail.body = "Olá <b>"& nome("nome") & "</b><br><br> " & mensagem & "</b><br><br> " & canexo
objMail.Bodyformat = 0
objMail.MailFormat = 0
objmail.send
'Move para o próximo registro
nome.movenext
wend
listar.movenext
wend
' Conecta-se ao Banco de Dados
url_conexao = Server.MapPath("InfEnv.mdb")
set conexao = Server.CreateObject("ADODB.Connection")
conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao
' atualiza o pedigree
sql = "insert into informativos (assunto, mensagem, anexo, data) values ('"&assunto&"','"&mensagem&"','"&canexo&"','"&data&"')"
Conexao.Execute(sql)
' Redireciona após 5 segundos
response.write "<br><br>você será redirecionado em 3 segundos..<br>"
response.write "<meta http-equiv='refresh' content='3; url=default.asp'/>"
%>
Me ajudem por favor.
O erro é este abaixo:
Active Server Pages error 'ASP 0113'
Script timed out
/faculdade/adm/news/enviar_informativo.asp
The maximum amount of time for a script to execute was exceeded. You can change this limit by specifying a new value for the property Server.ScriptTimeout or by changing the value in the IIS administration tools.
Edited by Aldan NunesLink to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.