Ir para conteúdo

Arquivado

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

GabrielFerrari

Arquivo Temporário

Recommended Posts

E ae Galera.

Fiz um formulário de e-mail com com anexo usando ASPEMAIL

Porém ele faz upload no servidor do arquivo anexado e deixa lá.

 

E com o tempo vai ocupar muito espaço no servidor e que é bem limitado.

Teria uma forma de deixar esse arquivo temporário ?

Não vou fazer a manutenção do site.

 

<%
nome = Request.Form("nome")
cidade = Request.Form("cidade")
funcao = Request.Form("funcao1")
arquivo = Request.Form("arquivo")
if cidade = "opc1" then
email = "gabriel.ferrari@viqtory.com.br"
else
email = "thelon.grabriel@hotmail.com"
end if
%>

<%= arquivo %>

<%
'Declaramos as váriaveis a serem utilizadas no script
Dim AspEmail, nomeRemetente, emailRemetente, nomeDestinatario, emailDestinatario, emailRetorno, assunto, mensagem, servidor
 
'Configuramos os dados a serem utilizados no cabeçalho da mensagem
nomeDestinatario="Gabriel"
emailDestinatario= "gabriel.ferrari@viqtory.com.br"
nomeRemetente= nome
emailRemetente= "envia_form@selex.com.br" 'O endereço de e-mail deve ser preenchido com uma conta que existente em seu próprio domínio.
'emailRetorno=
'responderPara=
assunto="Teste AspEmail"
mensagem= funcao
servidor="localhost"
 
'Agora configuramos o componente utilizando os dados informados nas variáveis
 
'Instancia o objeto na memória
SET AspEmail = Server.CreateObject("Persits.MailSender")
 
'Contfigura o servidor SMTP a ser utilizado
AspEmail.Host = servidor
 
'Configura o Nome do remetente da mensagem
AspEmail.FromName = nomeRemetente
 
'Configura o e-mail do remetente da mensagem que OBRIGATORIAMENTE deve ser um e-mail do seu próprio domínio
AspEmail.From = emailRemetente
 
'Configura o E-mail de retorno para você ser avisado em caso de problemas no envio da mensagem
AspEmail.MailFrom = emailRemetente
 
 
'Configura o e-mail que receberá as respostas desta mensagem
AspEmail.AddReplyTo responderPara
 
'Configura os destinatários da mensagem
AspEmail.AddAddress emailDestinatario, nomeDestinatario
 
'Configura para enviar e-mail Com Cópia
'AspEmail.AddCC "nome0@dominio.com.br", "Nome"
'AspEmail.AddCC "nome1@dominio.com.br", "Nome"
'AspEmail.AddCC "nome2@dominio.com.br", "Nome"
 
'Configura o Assunto da mensagem enviada
AspEmail.Subject = assunto
 
'Configura o formato da mensagem para HTML
AspEmail.IsHTML = True
 
'Configura o conteúdo da Mensagem
AspEmail.Body = mensagem
 
'Utilize este código caso queira enviar arquivo anexo
'AspEmail.AddAttachment("E:\home\SEU_LOGIN_FTP\Web\caminho_do_arquivo")

'Para quem utiliza serviços da REVENDA conosco
AspEmail.AddAttachment("E:\vhosts\selex.com.br\httpdocs\anexos\" & arquivo)
 
'#Ativa o tratamento de erros
On Error Resume Next
 
'Envia a mensagem
AspEmail.Send
 
'Caso ocorra problemas no envio, descreve os detalhes do mesmo.
If Err <> 0 Then
    erro = "<b><font color='red'> Erro ao enviar a mensagem.</font></b><br>"
    erro = erro & "<b>Erro.Description:</b> " & Err.Description & "<br>"
    erro = erro & "<b>Erro.Number:</b> "      & Err.Number & "<br>"
    erro = erro & "<b>Erro.Source:</b> "      & Err.Source & "<br>"
    response.write erro
Else
    response.write "<font color='blue'><b>Mensagem enviada com sucesso para</b></font> " & emailDestinatario
End If
 
'## Remove a referência do componente da memória ##
SET AspEmail = Nothing
%>

 

 

 

 

 

Obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer uma função que ap mandar um novo email ele execute uma otina para saber se existe arquivos com mais de 3 meses no sistema, caso tenha através de fso você deleta estes arquivos, a muito tempo atrás eu fiz algo parecido com isso.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que isso vai ser um pouco complexo para mim que nunca mexeu com ASP :(

Mas acho que vai servir para aprender um pouco.

 

vou dar uma pesquisada!

Você tem alguma coisa referente ao que fez no passado só para eu ter no que basear e saber o que buscar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara acho que tenho em casa, so terei que procurar, mais se eu não encontrar chegando lá a noite eu te ajudo nisso.

 

A principio tu terá que mecher com FSO tanto para fazer a verificação na data do arquivo, como para deleta-lo.

 

Mais chegando em casa eu te ajudo.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como o Patrique disse, basta pesquisar por FSO. Logo após enviar o e-mail, você já coloca a rotina para excluir o arquivo do servidor.

 

Qualquer dúvida poste aqui.

 

Thelon, não encontrei, mais fiz aqui rapidinho uma function simples

 

<%Function DeletaTemporarios(data)Set FSO = server.createObject("Scripting.FileSystemObject")Set Pasta = FSO.GetFolder(Server.MapPath("/pastadosanexos/"))Set Arquivos = Pasta.FilesFor Each Arquivo in Arquivos    Set FILE = FSO.GetFile(Arquivo)    Response.Write FILE.DateLastModified    Ddata = DateDiff("d", FILE.DateLastModified, data)    If Ddata > 10 Then       FSO.DeleteFile(arquivo)    End IfNextEnd Function%>
Para executar a verificação e deleção dos arquivos basta colocar

 

DeletaTemporarios(Date())
Logo abaixo da função enviar email do sistema, no exemplo acima o sistema ira deletar os arquivos com mais de 10 dias de vida.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como foi falado cria um FSO para elr os arquivos em uma pasta e verifica a data de criacaun se for maior , você excluí o mesmo, procure no fórum k existem exemplos Tb

 

estarei inserindo este code no laboratorio de scripts....

 

você tb pode listar os arquivos e escolher kal apagar

 

delete_arq.asp

<% Option Explicit
' declaro as variaveis
Dim fso,pasta,arquivo,arquivos,varmsg, varcolor

'recupero a var
varmsg=request.querystring("msg")
%>

<script language="javascript">
function novajan(){
window.open ("sucesso.asp","Excluido","width=180,height=200,scrollbar=no,status=yes,resize=no")
}
</script>
<%
if varmsg = 1 then 'excluido com sucesso
response.write("<script>novajan();</script>")
end if


Set fso=Server.createobject("Scripting.FileSystemObject")
Set pasta=fso.GetFolder("C:\Inetpub\wwwroot\agenda")
Set arquivo= pasta.files
%>

<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="2" 
BORDERCOLOR="#000000" width="385">
<TR> 

<TD height="22" align="center" valign="middle" bgcolor="#FF9933"72"><font color="#000000" 

face="Tahoma" size="2"><B>Arquivo</B></font></TD>
<TD width="213" height="22" align="center" valign="middle" bgcolor="#FF9933"><font color="#000000" 
face="Tahoma" size="2"><B>Excluir</B></font></TD>
</TR>

<%
varcolor = True
For Each arquivos In arquivo
	if varcolor then %>
	<TR BGCOLOR="#FFFFFF"> <%
	varcolor = False
 	else %>
<TR BGCOLOR="#E1E1E1"> <%
		varcolor = True
	end if %>

<TD ALIGN="left" width="158" ><div align="center"><font face="Tahoma" size="2" color="#000000"><A HREF="C:\Inetpub\wwwroot\agenda\"<%=arquivos.name%>"> 
<%= arquivos.Name %></A></font></div></TD>


<TD ALIGN="left" width="213" ><div align="center"><font face="Tahoma" size="2" color="#000000"><A HREF="excluir_action_arq.asp?arq=<%=arquivos.name%>">Excluir</A></font></div></TD>
<%
Next 
%> 
</TR>
</TABLE>

excluir_action_arq.asp

<% Option Explicit
' declaro as var.
dim vararq,fso,path
 vararq=request.querystring("arq")
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
   fso.DeleteFile "C:\Inetpub\wwwroot\agenda\" & vararq,false
response.Redirect("delete_arq.asp?msg=1")
   %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fico muito agradecido a vocês pela disposição na ajuda!

 

Porém fui tentar fazer o teste e está retornando um erro:

 

Erro ao enviar a mensagem.

Erro.Description: The system cannot find the file specified.

Erro.Number: 7

Erro.Source: Persits.MailSender.4

O problema e no ASPEMAIL não tem nada a haver com os código que me passaram.

mas não estou conseguindo resolver.

 

Acho que mudei algo sem querer ontem tentando fuçar e acabei fazendo besteira.

Tentei refazer mas não estou conseguindo.

 

Esse erro é do que ?

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Patrique

Eu tinha vários anexa.asp em pastas diferentes que foram os que fui testando até funcionar.

 

Ai quando terminei deletei todos os "errados"

e postei o certo aqui

 

Agora que fui testar percebi que deletei o certo

e estava com um errado :(

 

Tentei refazer denovo seguindo um tutorial que usei da outra vez

Mas não ta dando certo está com esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro , numero e linha ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique o caminho, verifique se o componente esta instalado, deve ser algum problema assim.

 

[]'s

 

 

O componente está instalado sim.

E o caminho pelo que conferi está certo.

Eu consegui pegar algumas coisas que tinha feito e passado para uma amiga pelo MSN que ela estava me ajudando

ai quando resolvi falei para ele e disse o que mudei e tal.

Mesmo assim não consegui descobrir.

 

qual erro , numero e linha ?

 

Não está dando erro em linha

Aparece erro 500

 

Internal Server Error

The server encountered an internal error ormisconfiguration and was unable to completeyour request.Please contact the server administrator to inform of the time the error occurredand of anything you might have done that may havecaused the error.

 

More information about this error may be availablein the server error log.

 

 

 

Web Server at selex.com.br

 

 

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara veja esta linha

 

servidor="localhost"

e pelo erro provavelmente você esta testando no servidor pelo site selex.com.br

 

é isso mesmo? tu ta testando pela web no servidor ou em localhost?

 

se for pela web o certo seria

 

servidor="selex.com.br"

ou alguma coisa como

 

servidor=mail.servidor="selex.com.br

ou

 

servidor=smtp.servidor="selex.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou testando no servidor direto.

Eu usei um c´doigo para upload agora junto com aquele código que postei acima:

 

<% 
        'Instancia o componente
        SET SaFileUp = Server.CreateObject("SoftArtisans.FileUp") 
 
            'Configura o caminho onde arquivo será salvo
            SaFileUp.Path = "E:\vhosts\selex.com.br\httpdocs\anexo\"
 
            'Caso o usuário não indique um arquivo para upload, informa erro.
            If SaFileUp.IsEmpty Then
                    response.write "<center>Por favor, indique um arquivo para upload.</center>
"
            Else
                'Salva o arquivo no servidor
                SaFileUp.Save
                response.write "<center>Total de Bytes Enviados: " & SaFileUp.TotalBytes & "</center>"

            End if

 
        Set SaFileUp = Nothing 
%>

 

 

Porém retorna o mesmo erro.

Mas consegui descobrir da onde vem.

 

E eu tirar o Request.Form o erro some e ele manda o e-mail com o anexo (se eu indicar o caminho do arquivo)

Porém eu preciso de algumas informações do cara que recebia por isso.

 

 

Obrigado pela força.

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.