Ir para conteúdo

Arquivado

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

Patricia

CDONTs e anexo

Recommended Posts

Pessoal tenho um form que tem os campos

 

Mail (objeto do cdonts), varBody(corpo de email), varTo (e-mail destinatário), varSubject (assunto)

 

e esse código a seguir envia o e-mail

 

<%

Option Explicit

 

Dim Mail, varBody, varTo, varSubject, varanexo, htmlemail

 

varBody = Request.Form("comment")

varTo = Request.Form("para")

varSubject = Request.Form("assunto")

varanexo = Request.Form("anexo")

 

htmlemail = "aqui tem todo o código html que vai no e-mail"

 

Set Mail = Server.CreateObject("Cdonts.NewMail")

Mail.From = "Enigma Comunicação" & "<" & "enigma@enigma-comunicacao.com" & ">"

Mail.To = varTo

Mail.Cc = "enigma@enigma-comunicacao.com"

Mail.Subject = varSubject

Mail.Body = htmlemail

Mail.Bodyformat = 0

Mail.MailFormat = 0

Mail.Attachfile varanexo "linha 20"

Mail.Send

Set Mail = Nothing

%>

 

Se eu anexo um arquivo ele envia perfeitamente, se eu envio sem anexo dá esse erro:

 

Error Type:

(0x80004005)

Unspecified error

/enigma/admin/modulos/editor/send.asp, line 20

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa colocar um IF para restringir a tentativa de envio de anexo, você pode fazer assim:

If varanexo<>"" Then
Mail.Attachfile varanexo "linha 20"
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

O sistema que eu criei com cdonts funciona perfeitamente na minha máquina:mas agora que eu subi ele, quando anexo um arqui dá erro!!!tem que fazer upload antes de anexar um arquivo???

Compartilhar este post


Link para o post
Compartilhar em outros sites
O sistema que eu criei com cdonts funciona perfeitamente na minha máquina:

 

mas agora que eu subi ele, quando anexo um arqui dá erro!!!

 

tem que fazer upload antes de anexar um arquivo???

Sim! você tem que fazer o UpLoad desse arquivo!

Permitir o envio de anexos é algo um tanto conplexo e chato, pelo que estive lendo (nunca fiz), você tem que criar um arquivo com um nome diferente, pois imagine se outros usuários enviarem arquivos com mesmo nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

salgado se eu utilizar o codigo da patricia, onde entro com esse if em qual linha, depois do request, tem um sistema parecido mas uso resquest.querystring.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está fazendo o Upload para mandar em anexo com e-mail?

Compartilhar este post


Link para o post
Compartilhar em outros sites

FUNCIONA ASSIM:

a tela faz o upload para meu server, inclusive esses dados ficam em um banco de dados, mas eu desejo que os mesmos dados sejan enviando por email

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, eu faria um response.redirect para a página que envia o e-mail passando algumas coisas como parâmetro (ou colocaria em sessions) e de lá usaria um código parecido com esse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Após fazer seu Upload você armazena tudo em sessions, inclusive o caminho/nome do arquivo que foi "upado" para o servidor. Depois use o Response.Redirect para um script seu que envie e-mails, recupere essas sessions para montar o e-mail e envie. Se os seus códigos forem curtos poste que podemos adaptar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha só, quando envio os dados de uma página pra outra, recupero com request, não sei declarar sessions e passar os dados no redirect.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criar sessions é simples, como se criasse uma variavel: Session("NomedaSession") = Valor e para recuperar é só fazer o inverso: variavel = session("NomedaSession"). A vantagem é que a session estara ativa durante toda a sessão de seu usuário, ou seja, enquanto não der TimeOut no servidor e/ou seu usuário mantiver a janela aberta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

me explique melhor.

digamos que vou declarar, mas meu formulário tem varios campos além do anexo, tenho que declarar um sessio pra cada um ou um session guarda todo os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É bom usar um para cada dado em separado. Mas também depende do que é, você pode montar numa session o "texto" do corpo do e-mail e guardar em outras o e-mail, nome, e o caminho do anexo.

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.