Estou tentando adaptar um formulario de email com anexo, usando o cdosys + aspUpload (que é o componente que funciona no servidor do site)
Tenho esta rotina:
<%
v_situacao = "disabled" 'variavel que habilita os campos do e-mail
Select Case Request.QueryString("acao") 'Verifica parametro acao para executar determinado script
Case "upload" 'caso a acao seja upload, executa script do SaFileUp
SET obj_Upload = Server.CreateObject("Persits.Upload")
obj_Upload.IgnoreNoPost = True
count = obj_upload.savevirtual ("./upload")
response.Write Count & " Arquivo Enviado"
Session("arquivo") = obj_Upload.Form("File").ServerName 'recupera o nome do arquivo no servidor
Response.Write "<script>alert('Total de Bytes Enviados: " & obj_Upload.TotalBytes & "')</script>"
Set obj_Upload = Nothing
v_situacao = "" 'habilita os campos pra enviar o e-mail
v_foco = " onLoad=""document.frm_email.txt_nome_rem.focus();""" 'coloca o cursor no campo do form de e-mail
objCDOSYSMail.To = Trim(Request.Form("txt_nome_para")) & "<" & Trim(Request.Form("txt_email_para")) & ">"
objCDOSYSMail.AddAttachment(Session("Arquivo")) 'anexa o arquivo
'Neste ponto capturamos o e-mail digitado no formulário
emailVisitante = request.form("emailVisitante")
'O campo ReplyTo pode ser preenchido com o e-mail do visitante do site evitando
'assim a necessidade de preencher o campo From incorretamente com o e-mail do visitante
objCDOSYSMail.ReplyTo = emailVisitante
objCDOSYSMail.Subject = Request.Form("txt_assunto")
objCDOSYSMail.TextBody = Request.Form("txt_corpo")
' On Error Resume Next objCDOSYSMail.Send 'envia o e-mail com o anexo
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
Response.Write "<script>alert('E-mail enviado com Sucesso!')</script>"
Session("Arquivo") = ""
response.write "<h1>Mensagem enviada com sucesso!!</h1>"
response.write "Resposta do e-mail será enviada para: "&emailVisitante&"<br />"
response.write "<a href=javascript:history.go(-1) target=_self>Voltar</a>"
Pergunta
Cristianomc
Olá.
Estou tentando adaptar um formulario de email com anexo, usando o cdosys + aspUpload (que é o componente que funciona no servidor do site)
Tenho esta rotina:
Select Case Request.QueryString("acao") 'Verifica parametro acao para executar determinado script
Case "upload" 'caso a acao seja upload, executa script do SaFileUp
SET obj_Upload = Server.CreateObject("Persits.Upload")
obj_Upload.IgnoreNoPost = True
count = obj_upload.savevirtual ("./upload")
response.Write Count & " Arquivo Enviado"
Session("arquivo") = obj_Upload.Form("File").ServerName 'recupera o nome do arquivo no servidor
Response.Write "<script>alert('Total de Bytes Enviados: " & obj_Upload.TotalBytes & "')</script>"
Set obj_Upload = Nothing
v_situacao = "" 'habilita os campos pra enviar o e-mail
v_foco = " onLoad=""document.frm_email.txt_nome_rem.focus();""" 'coloca o cursor no campo do form de e-mail
Case "email" 'caso a acao seja email, executa script do CDOSYS
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") 'objeto de configuração do CDO
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "*email"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*senha"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30
objCDOSYSCon.Fields.update
Set objCDOSYSMail.Configuration = objCDOSYSCon
objCDOSYSMail.From = Trim(Request.Form("txt_nome_rem")) & "<" & Trim(Request.Form("txt_email_rem")) & ">"
objCDOSYSMail.To = Trim(Request.Form("txt_nome_para")) & "<" & Trim(Request.Form("txt_email_para")) & ">"
objCDOSYSMail.AddAttachment(Session("Arquivo")) 'anexa o arquivo
'Neste ponto capturamos o e-mail digitado no formulário
emailVisitante = request.form("emailVisitante")
'O campo ReplyTo pode ser preenchido com o e-mail do visitante do site evitando
'assim a necessidade de preencher o campo From incorretamente com o e-mail do visitante
objCDOSYSMail.ReplyTo = emailVisitante
objCDOSYSMail.Subject = Request.Form("txt_assunto")
objCDOSYSMail.TextBody = Request.Form("txt_corpo")
' On Error Resume Next
objCDOSYSMail.Send 'envia o e-mail com o anexo
Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing
Response.Write "<script>alert('E-mail enviado com Sucesso!')</script>"
Session("Arquivo") = ""
response.write "<h1>Mensagem enviada com sucesso!!</h1>"
response.write "Resposta do e-mail será enviada para: "&emailVisitante&"<br />"
response.write "<a href=javascript:history.go(-1) target=_self>Voltar</a>"
End Select
%>
e dá o erro nesta linha:
Session("arquivo") = obj_Upload.Form("File").ServerName
1 Arquivo Enviado
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method: 'ServerName'
/formulariovagas/formulario3.asp, line 92
Se ignoro esta linha ele passa direto e dá o erro no
objCDOSYSMail.Send
o que fazer para que um fomrulario seja preenchido e anexado um arquivo e enviado no email.
alguém sabe como resolver? Dá uma solução?
Link para o comentário
Compartilhar em outros sites
0 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.