Aldan Nunes Postado Março 6, 2012 Denunciar Share Postado Março 6, 2012 (editado) 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. Editado Março 6, 2012 por Aldan Nunes Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 -#Alea#- Postado Março 7, 2012 Denunciar Share Postado Março 7, 2012 Acho que tu está estourando o Pool do servidor ainda mais usando banco ACCESS. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Março 9, 2012 Denunciar Share Postado Março 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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.
Editado por Aldan NunesLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.