Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
O que devo implementar neste arquivo para envio de anexo?
<%
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")
Dim meuservidorsmtp
Dim minhacontaautenticada
Dim minhasenhaparaenvio
Dim emailorigem
Dim emaildestino
meuservidorsmtp = "smtp"
minhacontaautenticada = "email para envio"
minhasenhaparaenvio = "senha"
emailorigem = "email de onde partiu"
emaildestino = "email que recebe"
cdoConfig.Fields.Item(sch & "sendusing") = 2
cdoConfig.Fields.Item(sch & "smtpauthenticate") = 1
cdoConfig.Fields.Item(sch & "smtpserver") = meuservidorsmtp
cdoConfig.Fields.Item(sch & "smtpserverport") = 25
cdoConfig.Fields.Item(sch & "smtpconnectiontimeout") = 30
cdoConfig.Fields.Item(sch & "sendusername") = minhacontaautenticada
cdoConfig.Fields.Item(sch & "sendpassword") = minhasenhaparaenvio
cdoConfig.fields.update
Set cdoMessage = Server.CreateObject("CDO.Message")
Set cdoMessage.Configuration = cdoConfig
cdoMessage.BodyPart.Charset = "iso-8859-1"
cdoMessage.From = emailorigem
cdoMessage.To = emaildestino
cdoMessage.Subject = "Formulario de Contato"
cdoMessage.ReplyTo = Request("emailrem")
strBody = "Dados <br> <br>" & _
"Nome:"& Request("campoNome")& "<br>" & _
"E-Mail:"& Request("campoEmail")& "<br>" & _
"Assunto:"& Request("campoAssunto")& "<br>" & _
"Mensagem:"& Request("campoMensagem")
strBody = strBody & "."
cdoMessage.HTMLBody = strBody
cdoMessage.Send
Set cdoMessage = Nothing
Set cdoConfig = Nothing
response.write "O e-mail foi processado e enviado com sucesso"
%>
>
exemplo:
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="mymail@mydomain.com"
myMail.To="someone@somedomain.com"
myMail.TextBody="This is a message."
myMail.AddAttachment "c:\mydocuments\test.txt"
myMail.Send
set myMail=nothing
%>
Caro Xanburzum, devo apenas incluir no arquivo ENVIAR.ASP ou substituir por alguma parte? Desculpe, mais não entendo muito disso, ainda estou aprendendo.
Para enviar uma mensagem com um arquivo anexo ,é necessário que o arquivo esteja em sua área de hospedagem, pois é de lá que partirá o e-mail.
inclua o
myMail.AddAttachment "X:\sua_pasta\seu_arquivo.txt"
lembrando que , o caminho do arquivo precisa estar correto, e caso o user queira anexar o arquivo pelo formulario, você precisará de um componente para fazer o UPLOAD
>
Para enviar uma mensagem com um arquivo anexo ,é necessário que o arquivo esteja em sua área de hospedagem, pois é de lá que partirá o e-mail.
inclua o
myMail.AddAttachment "X:\sua_pasta\seu_arquivo.txt"
lembrando que , o caminho do arquivo precisa estar correto, e caso o user queira anexar o arquivo pelo formulario, você precisará de um componente para fazer o UPLOAD
É justamente o que eu preciso, tenho um formulário no site e preciso colocar um campo para o usuário anexar documento e enviar para o site. Mais não sei como fazer! Me desculpe se não me expressei bem.
LostSoul, você sabe criar um sistema de upload?
Caso saiba, os passos são:
Lembre-se que ao utilizar um formulário de upload, não existirá request.form, será componenteDeUpload.form.
Em caso de dúvidas, poste abaixo.
existem vários exemplos de UPLOAD+CDOSYS, você pode usar vários tipos de componente para UPLOAD, tem até mesmo um exemplos que postei sem usar componente, mas abaixo vai um code, que usa o SaFileUp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Exemplo Locaweb</title>
<style type="text/css">
<!--
.texto {
font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 12px; color: #666666; text-decoration: none;
}
h4 {
font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 16px; color: #666666; font-weight: bold; text-decoration: none;
}
input {
font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px; color: #666666; font-weight: bold; text-decoration: none;
background-color: #E8E8E8;
}
file {
font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px; color: #666666; font-weight: bold; text-decoration: none;
background-color: #E8E8E8;
}
textarea {
font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px; color: #666666; font-weight: bold; text-decoration: none;
background-color: #E8E8E8;
}
-->
</style>
</head>
<%
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("SoftArtisans.FileUp")
obj_Upload.Path = Server.MapPath("./upload") 'local onde será gravado o arquivo
obj_Upload.Form("File").Save
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"](http://schemas.microsoft.com/cdo/configuration/smtpserver)) = "seu SMTP"
objCDOSYSCon.Fields("[http://schemas.microsoft.com/cdo/configuration/smtpserverport"](http://schemas.microsoft.com/cdo/configuration/smtpserverport)) = 25
objCDOSYSCon.Fields("[http://schemas.microsoft.com/cdo/configuration/sendusing"](http://schemas.microsoft.com/cdo/configuration/sendusing)) = 2
objCDOSYSCon.Fields("[http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"](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
objCDOSYSMail.Subject = Request.Form("txt_assunto")
objCDOSYSMail.TextBody = Request.Form("txt_corpo")
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") = ""
End Select
%>
<body<%=v_foco%>>
<div align="center" class="texto">
<h4><strong>SaFileUp + CDOSYS</strong></h4>
<p> componente SaFileUp para anexar em
um e-mail que será enviado pelo componente CDOSYS.</p>
<form action="?acao=upload" method="post" enctype="multipart/form-data" name="frm_upload" id="frm_upload">
<table width="500" border="1" cellspacing="0" cellpadding="2">
<tr><th width="390" scope="col"><div align="center"><input name="file" type="file" size="40"></div></th>
<th width="96" scope="col"><input name="Upload" type="submit" id="Upload" value="Upload"></th>
</tr></table></form>
<form action="?acao=email" method="post" name="frm_email" id="frm_email">
<table width="500" border="1" cellspacing="0" cellpadding="2"><tr><th colspan="4">Remetente</th></tr>
<tr><th width="55">Nome:</th><td width="181"><div align="left">
<input name="txt_nome_rem" type="text" id="txt_nome_rem" size="30"<%=v_situacao%>>
</div></td><th width="55">Email:</th><td>
<div align="left">
<input name="txt_email_rem" type="text" id="txt_email_rem" size="30"<%=v_situacao%>>
</div></td></tr><tr><th colspan="4">Destinatário</th></tr>
<tr><th>Nome:</th><td>
<div align="left">
<input name="txt_nome_para" type="text" id="txt_nome_para" size="30"<%=v_situacao%>>
</div></td><th>Email:</th><td>
<div align="left">
<input name="txt_email_para" type="text" id="txt_email_para" size="30"<%=v_situacao%>>
</div></td></tr><tr><th>Assunto:</th><td>
<div align="left">
<input name="txt_assunto" type="text" id="txt_assunto" size="30"<%=v_situacao%>>
</div></td><th>Arquivo:</th><td>
<div align="left">
<input name="txt_arquivo" type="text" disabled id="txt_arquivo" value="<%=Session("arquivo")%>" size="30">
</div></td></tr><tr><th colspan="4">Mensagem</th>
</tr><tr><td colspan="4">
<div align="center">
<textarea name="txt_corpo" cols="75" rows="5" id="txt_corpo"<%=v_situacao%>></textarea>
</div></td></tr><tr><td colspan="4">
<div align="right">
<input name="Enviar" type="submit" id="Enviar" value="Enviar"<%=v_situacao%>>
</div></td></tr></table></form>
</div>
</body>
</html>>
LostSoul, você sabe criar um sistema de upload?
Caso saiba, os passos são:
Lembre-se que ao utilizar um formulário de upload, não existirá request.form, será componenteDeUpload.form.
Em caso de dúvidas, poste abaixo.
Olá Hargon, cara sou totalmente leigo nesse assunto, o formulário tá feito e tá funcionando perfeito, só que preciso colocar um campo para o usuário mandar arquivos pra mim, mais o que e onde alterar, não sei se é pra alterar no arquivo ENVIAR.ASP ou no FORM no HTML ou nos 2! Xanburzum postou um script, mais não sei nem onde colocar! =XSe não for abusar e pedir muito gostaria de ajuda.
Abraço.
esse código que postei já esta pronto, esse exemplo é só você ter o componente instalado, verifique junto ao seu server, qual componente utiliza, e como disse no lab. de script , existem vários exemplos prontos, que ja pode ser utilizado...
o código que posteiesta completo e pronto para usar, você precisa ver junto com seu host, qual componente eles disponibilizam para trabalhar com UPLOAD, mas como falei no lab. de script existem varios exemplos com componente e sem componente.
Conforme foi falado acima, primeiro descubra no seu servidor, quais componentes de upload você tem disponível.
Após decidir qual componente utilizar, adicione à tag form do seu formulário enctype="multipart/form-data"
<form id="frmcontato" name="frmcontato" action="envia.asp" method="post" enctype="multipart/form-data">
Acrescente também no formulário, o campo FILE, pois é ele que vai selecionar o arquivo a ser enviado.
Na página envia.asp, você deve fazer primeiro o processo de upload. Caso o upload seja feito corretamente, armazene o caminho onde foi feito o upload e logo depois faça o procedimento de envio da mensagem (conforme você já sabe fazer). A única diferença no procedimento é que você tem que informar o caminho do arquivo que será anexado em AddAttachment.
O xanburzum postou um código que a primeira leitura parece funcionar exatamente para o que você precisa, mas você terá que ter o componente SaFileUp instalado.
Dê uma estudada no código acima e poste suas dúvidas.
Hargon, mais uma dúvida essa pasta onde ficarão os anexos é criada no FTP? Você poderia me auxiliar no preenchimento do modelo passado por Xanburzum?
Já te passei passo-a-passo como fazer.
Inicie a programação e vá postando suas dúvidas que lhe ajudaremos.
Outro detalhe é que você não informou até agora qual componente de upload existe no seu servidor.
Sobre a pasta, ela deve estar criada no Servidor e deve possuir permissão de leitura e escrita.
exemplo:
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="mymail@mydomain.com"
myMail.To="someone@somedomain.com"
myMail.TextBody="This is a message."
myMail.AddAttachment "c:\mydocuments\test.txt"
myMail.Send
set myMail=nothing
%>