Boa tarde, estou com um problema para enviar e-mail com anexo de um formulário utilizando o aspupload para fazer o upload do arquivo no servidor e depois utilizando cookies para anexar o arquivo salvo no e-mail e enviá-lo através do CDOSys, porém não funciona.
Consigo fazer o upload do arquivo para o servidor pelo aspupload, até aqui sem problemas, porém quando tento anexar o arquivo ao e-mail e depois enviá-lo, o arquivo não vai, abaixo estão os códigos dos arquivos que estou utilizando:
A página contato com o formulário é esta:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<!--#include file="aspupload.asp" -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<!--[if IE]>
<link href="css/ie.css" rel="stylesheet" type="text/css" />
<!--[else]>
<link rel="stylesheet" href="css/ns.css" type="text/css" />
<![endif]-->
<script language="JavaScript">
<!--
self.name = "contato";
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
</head>
<body>
<div id="cabecalhoesquerda"></div><div id="cabecalho"></div>
<div id="clear"></div>
<div id="esquerda"><a href="http://www.meudominio.com.br/index.html" target="_self">VOLTAR</a></div>
<form method="post" enctype="multipart/form-data" name="form1" action="enviar.asp">
<div id="tudo">
<div id="um">
<label><strong>Nome:</strong>
<input type="text" name="camponome" id="camponome">
</label>
<br />
<label><strong>E-mail:</strong>
<input type="text" name="campoemail" id="campoemail" >
</label>
<br />
<label><strong>Anexo:</strong>
<a href="java script:MM_openBrWindow('anexos.html','anexos','width=640,height=280')">Anexar arquivos</a><br />
<%
if request.cookies("meusite").HasKeys then
if request.cookies("meusite")("Arquivo1") <> "" then
response.write ""&request.cookies("meusite")("Arquivo1")&", "
else
response.write ""
end if
if request.cookies("meusite")("Arquivo2") <> "" then
response.write ""&request.cookies("meusite")("Arquivo2")&", "
else
response.write ""
end if
if request.cookies("meusite")("Arquivo3") <> "" then
response.write ""&request.cookies("meusite")("Arquivo3")&"<br>"
else
response.write ""
end if
if request.cookies("meusite")("Arquivo4") <> "" then
response.write ""&request.cookies("meusite")("Arquivo4")&", "
else
response.write ""
end if
if request.cookies("meusite")("Arquivo5") <> "" then
response.write ""request.cookies("meusite")("Arquivo5")&"<br>"
else
response.write ""
end if
else
response.write ""
end if
%>
</label>
</div>
<div id="dois">
<input type="submit" value="" id="submit" />
</div>
<div id="tres">
<label><strong>Mensagem:</strong><br />
<textarea name="campomensagem" id="mensagem" cols="74" rows="7"></textarea>
</label>
</div><br>
<div id="opcao">
<p>Ou se preferir <a href="mailto:contato@meudominio.com.br?subject='Contato pelo site'">clique aqui</a>.</p>
</div>
<br>
<div class="clear"></div><br>
</div><br>
</form><br>
<div id="peesquerda"></div>
<div id="pe"></div>
</div>
</body>
</html>
A página enviar.asp que é a action do meu formulário é o seguinte:
<!--#include file="aspupload.asp"-->
<%
On Error Resume Next
Server.ScriptTimeout=5400
Dim camponome
Dim campoemail
Dim campomensagem
Dim Arquivo1
Dim Arquivo2
Dim Arquivo3
Dim Arquivo4
Dim Arquivo5
camponome = Request.Form("camponome")
campoemail = Request.Form("campoemail")
campomensagem = Request.Form("campomensagem")
if request.cookies("meusite")("Arquivo1") <> "" then
Arquivo1 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo1")
else
Arquivo1 = ""
end if
if request.cookies("meusite")("Arquivo2") <> "" then
Arquivo2 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo2")
else
Arquivo2 = ""
end if
if request.cookies("meusite")("Arquivo3") <> "" then
Arquivo3 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo3")
else
Arquivo3 = ""
end if
if request.cookies("meusite")("Arquivo4") <> "" then
Arquivo4 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo4")
else
Arquivo4 = ""
end if
if request.cookies("meusite")("Arquivo5") <> "" then
Arquivo5 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo5")
else
Arquivo5 = ""
end if
campoemail=request.form("campoemail")
camponome=request.form("camponome")
campomensagem=request.form("campomensagem")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.meudominio.com.br"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "meunome@meudominio.com.br"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "minhasenha"
objCDOSYSCon.Fields.update
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSMail.Configuration = objCDOSYSCon
objCDOSYSMail.From = campoemail
objCDOSYSMail.To = "meunome@meudominio.com.br"
objCDOSYSMail.Subject = "Contato pelo site"
if Arquivo1 <> "" then
objCDOSYSMail.AddAttachment Arquivo1
else
objCDOSYSMail.AddAttachment
end if
if Arquivo2 <> "" then
objCDOSYSMail.AddAttachment Arquivo2
else
objCDOSYSMail.AddAttachment
end if
if Arquivo3 <> "" then
objCDOSYSMail.AddAttachment Arquivo3
else
objCDOSYSMail.AddAttachment
end if
if Arquivo4 <> "" then
objCDOSYSMail.AddAttachment Arquivo4
else
objCDOSYSMail.AddAttachment
end if
if Arquivo5 <> "" then
objCDOSYSMail.AddAttachment Arquivo5
else
objCDOSYSMail.AddAttachment
end if
strBody = "Dados" & vbCrLf & vbCrLf & _
"Nome: "& camponome & vbCrLf & _
"E-Mail: "& campoemail & vbCrLf & _
"Anexo:"& Arquivo1 & vbCrLf & _
" "& Arquivo2 & vbCrLf & _
" "& Arquivo3 & vbCrLf & _
" "& Arquivo4 & vbCrLf & _
" "& Arquivo5 & vbCrLf & _
"Mensagem: "& campomensagem
objCDOSYSMail.TextBody = strBody
objCDOSYSMail.fields.update
objCDOSYSMail.Send
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
'Set Upload = Nothing
response.cookies("meusite")= ""
response.cookies("meusite")("Arquivo1")=""
response.cookies("meusite")("Arquivo2")=""
response.cookies("meusite")("Arquivo3")=""
response.cookies("meusite")("Arquivo4")=""
response.cookies("meusite")("Arquivo5")=""
Response.write "<html><head><link rel='stylesheet' href='css/ie.css' />
Response.write "<H1>E-mail enviado com Sucesso! Aguarde em breve entraremos em contato.</H1><br><br>"
if Arquivo1 = "" then
response.write ""
else
Response.write "O arquivo "&Replace(Arquivo1,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>"
end if
if Arquivo2 = "" then
response.write ""
else
Response.write "O arquivo "&Replace(Arquivo2,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>"
end if
if Arquivo3 = "" then
response.write ""
else
Response.write "O arquivo "&Replace(Arquivo3,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>"
end if
if Arquivo4 = "" then
response.write ""
else
Response.write "O arquivo "&Replace(Arquivo4,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>"
end if
if Arquivo4 = "" then
response.write ""
else
Response.write "O arquivo "&Replace(Arquivo4,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>"
end if
if Arquivo5 = "" then
response.write ""
else
Response.write "O arquivo "&Replace(Arquivo5,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>"
end if
response.write "<meta http-equiv='refresh' content='5; url=http://www.meudominio.com.br/contato.asp'/>"
%>
O arquivo aspupload.asp que está presente tanto no arquivo com o formulário, quanto no arquivo enviar.asp como um include é o seguinte:
<%
Set Upload = Server.CreateObject("Persits.Upload")
Upload.IgnoreNoPost = True
Count = Upload.Save("e:\minha_pasta_no_servidor")
For Each File in Upload.Files
response.cookies("meusite")(File.Name)=File.FileName
Next
%>
Pergunta
pedrosbc
Boa tarde, estou com um problema para enviar e-mail com anexo de um formulário utilizando o aspupload para fazer o upload do arquivo no servidor e depois utilizando cookies para anexar o arquivo salvo no e-mail e enviá-lo através do CDOSys, porém não funciona.
Consigo fazer o upload do arquivo para o servidor pelo aspupload, até aqui sem problemas, porém quando tento anexar o arquivo ao e-mail e depois enviá-lo, o arquivo não vai, abaixo estão os códigos dos arquivos que estou utilizando:
A página contato com o formulário é esta:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <!--#include file="aspupload.asp" --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <!--[if IE]> <link href="css/ie.css" rel="stylesheet" type="text/css" /> <!--[else]> <link rel="stylesheet" href="css/ns.css" type="text/css" /> <![endif]--> <script language="JavaScript"> <!-- self.name = "contato"; function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> </head> <body> <div id="cabecalhoesquerda"></div><div id="cabecalho"></div> <div id="clear"></div> <div id="esquerda"><a href="http://www.meudominio.com.br/index.html" target="_self">VOLTAR</a></div> <form method="post" enctype="multipart/form-data" name="form1" action="enviar.asp"> <div id="tudo"> <div id="um"> <label><strong>Nome:</strong> <input type="text" name="camponome" id="camponome"> </label> <br /> <label><strong>E-mail:</strong> <input type="text" name="campoemail" id="campoemail" > </label> <br /> <label><strong>Anexo:</strong> <a href="java script:MM_openBrWindow('anexos.html','anexos','width=640,height=280')">Anexar arquivos</a><br /> <% if request.cookies("meusite").HasKeys then if request.cookies("meusite")("Arquivo1") <> "" then response.write ""&request.cookies("meusite")("Arquivo1")&", " else response.write "" end if if request.cookies("meusite")("Arquivo2") <> "" then response.write ""&request.cookies("meusite")("Arquivo2")&", " else response.write "" end if if request.cookies("meusite")("Arquivo3") <> "" then response.write ""&request.cookies("meusite")("Arquivo3")&"<br>" else response.write "" end if if request.cookies("meusite")("Arquivo4") <> "" then response.write ""&request.cookies("meusite")("Arquivo4")&", " else response.write "" end if if request.cookies("meusite")("Arquivo5") <> "" then response.write ""request.cookies("meusite")("Arquivo5")&"<br>" else response.write "" end if else response.write "" end if %> </label> </div> <div id="dois"> <input type="submit" value="" id="submit" /> </div> <div id="tres"> <label><strong>Mensagem:</strong><br /> <textarea name="campomensagem" id="mensagem" cols="74" rows="7"></textarea> </label> </div><br> <div id="opcao"> <p>Ou se preferir <a href="mailto:contato@meudominio.com.br?subject='Contato pelo site'">clique aqui</a>.</p> </div> <br> <div class="clear"></div><br> </div><br> </form><br> <div id="peesquerda"></div> <div id="pe"></div> </div> </body> </html>A página enviar.asp que é a action do meu formulário é o seguinte:<!--#include file="aspupload.asp"--> <% On Error Resume Next Server.ScriptTimeout=5400 Dim camponome Dim campoemail Dim campomensagem Dim Arquivo1 Dim Arquivo2 Dim Arquivo3 Dim Arquivo4 Dim Arquivo5 camponome = Request.Form("camponome") campoemail = Request.Form("campoemail") campomensagem = Request.Form("campomensagem") if request.cookies("meusite")("Arquivo1") <> "" then Arquivo1 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo1") else Arquivo1 = "" end if if request.cookies("meusite")("Arquivo2") <> "" then Arquivo2 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo2") else Arquivo2 = "" end if if request.cookies("meusite")("Arquivo3") <> "" then Arquivo3 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo3") else Arquivo3 = "" end if if request.cookies("meusite")("Arquivo4") <> "" then Arquivo4 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo4") else Arquivo4 = "" end if if request.cookies("meusite")("Arquivo5") <> "" then Arquivo5 = "e:\minha_pasta_no_servidor\"&request.cookies("meusite")("Arquivo5") else Arquivo5 = "" end if campoemail=request.form("campoemail") camponome=request.form("camponome") campomensagem=request.form("campomensagem") Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.meudominio.com.br" objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "meunome@meudominio.com.br" objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "minhasenha" objCDOSYSCon.Fields.update Set objCDOSYSMail = Server.CreateObject("CDO.Message") Set objCDOSYSMail.Configuration = objCDOSYSCon objCDOSYSMail.From = campoemail objCDOSYSMail.To = "meunome@meudominio.com.br" objCDOSYSMail.Subject = "Contato pelo site" if Arquivo1 <> "" then objCDOSYSMail.AddAttachment Arquivo1 else objCDOSYSMail.AddAttachment end if if Arquivo2 <> "" then objCDOSYSMail.AddAttachment Arquivo2 else objCDOSYSMail.AddAttachment end if if Arquivo3 <> "" then objCDOSYSMail.AddAttachment Arquivo3 else objCDOSYSMail.AddAttachment end if if Arquivo4 <> "" then objCDOSYSMail.AddAttachment Arquivo4 else objCDOSYSMail.AddAttachment end if if Arquivo5 <> "" then objCDOSYSMail.AddAttachment Arquivo5 else objCDOSYSMail.AddAttachment end if strBody = "Dados" & vbCrLf & vbCrLf & _ "Nome: "& camponome & vbCrLf & _ "E-Mail: "& campoemail & vbCrLf & _ "Anexo:"& Arquivo1 & vbCrLf & _ " "& Arquivo2 & vbCrLf & _ " "& Arquivo3 & vbCrLf & _ " "& Arquivo4 & vbCrLf & _ " "& Arquivo5 & vbCrLf & _ "Mensagem: "& campomensagem objCDOSYSMail.TextBody = strBody objCDOSYSMail.fields.update objCDOSYSMail.Send Set objCDOSYSMail = Nothing Set objCDOSYSCon = Nothing 'Set Upload = Nothing response.cookies("meusite")= "" response.cookies("meusite")("Arquivo1")="" response.cookies("meusite")("Arquivo2")="" response.cookies("meusite")("Arquivo3")="" response.cookies("meusite")("Arquivo4")="" response.cookies("meusite")("Arquivo5")="" Response.write "<html><head><link rel='stylesheet' href='css/ie.css' /> Response.write "<H1>E-mail enviado com Sucesso! Aguarde em breve entraremos em contato.</H1><br><br>" if Arquivo1 = "" then response.write "" else Response.write "O arquivo "&Replace(Arquivo1,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>" end if if Arquivo2 = "" then response.write "" else Response.write "O arquivo "&Replace(Arquivo2,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>" end if if Arquivo3 = "" then response.write "" else Response.write "O arquivo "&Replace(Arquivo3,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>" end if if Arquivo4 = "" then response.write "" else Response.write "O arquivo "&Replace(Arquivo4,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>" end if if Arquivo4 = "" then response.write "" else Response.write "O arquivo "&Replace(Arquivo4,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>" end if if Arquivo5 = "" then response.write "" else Response.write "O arquivo "&Replace(Arquivo5,"e:\minha_pasta_no_servidor\","")&" foi anexado ao e-mail.<br>" end if response.write "<meta http-equiv='refresh' content='5; url=http://www.meudominio.com.br/contato.asp'/>" %>O arquivo aspupload.asp que está presente tanto no arquivo com o formulário, quanto no arquivo enviar.asp como um include é o seguinte:<% Set Upload = Server.CreateObject("Persits.Upload") Upload.IgnoreNoPost = True Count = Upload.Save("e:\minha_pasta_no_servidor") For Each File in Upload.Files response.cookies("meusite")(File.Name)=File.FileName Next %>Será que alguém por aqui pode me ajudar?
Desde já agradeço
Valeu
Link para o comentário
Compartilhar em outros sites
13 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.