Ir para conteúdo

POWERED BY:

Arquivado

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

Dias Sanches

[Resolvido] Formulario com envio de imagem

Recommended Posts

:wacko: Estou ficando doido de tanto quebrar a cabeça,

 

Boa tarde pessoal,

 

Bom, estou com o seguinte problema, adicionei em meu formulário o sistema de upload para enviar a imagem para um email

 

Mas ao enviar o email a imagem é hospedada no servidor mas nem ela e nem o formulário chegam ao email

 

Vocês podem me ajudar

 

Meu codigo:

Inicio do form:

<form onsubmit="return form_simples(this)" action="upload3.asp" method="post" ENCTYPE="multipart/form-data">

 

Codigo Asp

 

<!---#INCLUDE FILE="upload.inc" --->

<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then 'Request method must be "POST" For get the fields
  Set Fields = GetUpload()


  FilePath = Server.MapPath("imgs") & "/" & Fields("File1").FileName
  Fields("File1").Value.SaveAs FilePath
  
%>
<% else %>
<!--#include file="configuracoes/config.asp"-->
				  <%
snome = Request.Form("name")
smail = Request.Form("email")
Phone_number = Request.Form("Phone_number")
WorkName = Request.Form("WorkName")
website = Request.Form("website")
Date_of_birth = Request.Form("Date_of_birth")
Nationality = Request.Form("Nationality")
Height = Request.Form("Height")
Measurements = Request.Form("Measurements")
Hair = Request.Form("Hair")
Eye_color = Request.Form("Eye_color")
Languages = Request.Form("Languages")
Orientation = Request.Form("Orientation")
Incall_Available = Request.Form("Incall_Available")
Incall_Location = Request.Form("Incall_Location")
Profession = Request.Form("Profession")
Experience = Request.Form("Experience")
Additional_Info = Request.Form("Additional_Info")
Set Send = Server.CreateObject("SMTPsvg.Mailer") 
	Send.FromName = snome
	Send.FromAddress= email
	Send.RemoteHost = smtp
	Send.AddRecipient nome, email
	Send.Subject = "Contact of " & snome & " :: Employment." 
	Send.BodyText = "Name:" & snome & VBCrLf & VBCrLf & "Work Name: " & WorkName & VBCrLf & VBCrLf& "WebSite:" & VBCrLf & VBCrLf & website & VBCrLf & VBCrLf & "Date of birth: " & Date_of_birth & VBCrLf & VBCrLf & "Phone number: " & Phone_number & VBCrLf & VBCrLf & "email: " & smail & VBCrLf & VBCrLf & "Nationality: " & Nationality & VBCrLf & VBCrLf & "Height: " & Height & VBCrLf & VBCrLf & "Measurements: " & Measurements & VBCrLf & VBCrLf & "Hair: " & Hair & VBCrLf & VBCrLf & "Eye color: " & Eye_color & VBCrLf & VBCrLf & "Languages: " & Languages & VBCrLf & VBCrLf & "Orientation: " & Orientation & VBCrLf & VBCrLf & "Incall Available: " & Incall_Available & VBCrLf & VBCrLf & "Incall Location: " & Incall_Location & VBCrLf & VBCrLf & "Profession: " & Profession & VBCrLf & VBCrLf & "Experience: " & Experience & VBCrLf & VBCrLf & "Additional Info: " & Additional_Info & VBCrLf & VBCrLf & "Glasgow Prettyu Escorts ( www.glsgowprettyescorts.com )"
	Send.SendMail
Set Reply = Server.CreateObject("SMTPsvg.Mailer") 
	Reply.FromName = nome
	Reply.FromAddress= email
	Reply.RemoteHost = smtp
	Reply.AddRecipient snome, smail
	Reply.Subject = "Thank you for contact" & snome
	Reply.BOdyText = "Hi " & snome & " your email sent successfully for " & nome & ". Soon we will contact" & VBCrLf & VBCrLf & VBCrLf & "Glasgow Pretty Escorts ( www.glasgowprettyescorts.com )"
	Reply.SendMail
	%>
	<%

End If
%>

:blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que vi seu código não envia HTML, então quer enviar a imagem anexa certo? Mas não vi onde está anexando a imagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi

 

Procurei simplificar o codigo mas, por mais que eu tente não vai, poderia me explicar o que esta faltando?

 

Agora acontece o seguinte:

 

A imagem novamente é adicionada com sucesso no servidor

E também diz que o Email foi enviado com sucesso, porem não chega nenhum email

 

Favoe me de uma forcinha neste code

 

<html>
<body bgcolor="#FFFFFF">
<%
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 50000, True
On Error Resume Next
Upload.Save "D:\web\localuser\glasgowprettyescorts\www\mail\figuras_enviadas\"


If Err.Number = 8 Then
  Response.Write "Arquivo muito grande!"
Else
  If Err <> 0 Then
	 Response.Write "Aconteceu um erro: " & Err.Description
  Else


For Each File in Upload.Files
If File.ImageType = "UNKNOWN" Then
	 Response.Write "Isso não é uma imagem."
	 File.Delete
	 Response.End
else
 End If
caminho = (replace(file.path,"D:\web\localuser\glasgowprettyescorts\www\mail\figuras_enviadas\","http://www.glasgowprettyescorts.com/mail/figuras_enviadas/"))
foto = "<img src="& caminho &">"
next	  

nome = request.form("nome")
email = request.form("email")
corpo = request.form("corpo")

Set objCDOSYSMail = Server.CreateObject("CDO.Message") 
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp-web.kinghost.net" 
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.update 
Set objCDOSYSMail.Configuration = objCDOSYSCon 


objCDOSYSMail.from = "info@info.com"
objCDOSYSMail.to = email
objCDOSYSMail.subject =  "Anuncio no Site"


msg = corpo
msg = corpo & "<BR>"
msg = msg & caminho
objCDOSYSMail.htmlBody = msg

on error resume next
objCDOSYSMail.send
objCDOSYSMailmail.nothing

final = nome
final = final & "<BR>"
final = final & email
final = final & "<BR>"
final = final & msg
final = final & "<BR>"
final = final & "Email enviado com sucesso"
response.write final
end if
end if
%>

</body>
</html>

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Remova a linha on error resume next e teste novamente para ver se está enviando com sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi hargon

 

Agora apareceu o seguinte

 

Objeto Request erro 'ASP 0207 : 80004005'

 

Não é possível usar Request.Form

 

/mail/upload2.asp, line 29

 

Não é possível usar a coleção Request.Form após chamar BinaryRead.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você ustá utilizando no seu Form:

enctype="multipart/form-data"

Então você deve recuperar os valores dessa forma:

nome = Upload.Form("nome")
email = Upload.Form("email")
corpo = Upload.Form("corpo")

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi hargon

 

Agora apareceu o seguinte

 

Objeto Request erro 'ASP 0207 : 80004005'

 

Não é possível usar Request.Form

 

/mail/upload2.asp, line 29

 

Não é possível usar a coleção Request.Form após chamar BinaryRead.

Este erro eu arrumei

 

Ao invés de Request.Form coloquei upload.Form

 

Mas Agora ha uma questão que não consegui decifrar

 

Ele esta mandando para o email o caminho onde esta a imagem, como faço para que do servidor a imagem chegue ao email?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para anexar a imagem no e-mail usando CDOSYS utilize: Objeto.AddAttachment(Server.MapPath(caminhoDoArquivo))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não encontrei no seu código onde você recupera o nome do arquivo, apenas o caminho...

E é justamente a variável "caminho" que você está enviando no e-mail... Além do caminho, você deve especificar também o nome do arquivo.

tem que ficar algo como:

http://www.glasgowprettyescorts.com/mail/f...das/arquivo.jpg

 

Tente isso para saber o nome do arquivo:

Response.Write File.Name

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Adicionei

 

Objeto.AddAttachment(Server.MapPath("figuras_enviadas/"))

 

Mas agora aparece o seguinte:

 

Erro de tempo de execução do Microsoft VBScript erro '800a01a8'

 

Objeto necessário: 'Objeto'

 

/mail/upload2.asp, line 46

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu é que estou ficando meio confuso agora, hehehe, acho que vou almoçar...

 

Tente como o hargon disse, mas com o nome correto do seu objeto setado:

objCDOSYSMail.from = "info@info.com"
objCDOSYSMail.to = email
objCDOSYSMail.subject = "Anuncio no Site"
objCDOSYSMail.AddAttachment(Server.MapPath("figuras_enviadas/"))

Tenta ae...

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Public2004

 

objCDOSYSMail.from = "info@info.com"
objCDOSYSMail.to = email
objCDOSYSMail.subject = "Anuncio no Site"
objCDOSYSMail.AddAttachment(Server.MapPath("figuras_enviadas/"))

Adicionei o codigo, mas esta aparecendo o seguinte:

 

CDO.Message.1 erro '80070005'

 

Acesso negado.

 

/mail/upload2.asp, line 46

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que anexar arquivo por arquivo e não a pasta inteira. Você informou somente a pasta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi hargon

 

Tem como automatizar isso, pois será como um formulário de contato

 

Varias pessoas vão estar mandando imagens de diferentes nomes

 

Como identifico a foto que foi enviada e faço com que se torne uma coisa automatica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê uma olhada na documentação do componente que está utilizando para realizar o Upload.

 

Obs. renomeie o arquivo após o upload, para não correr o risco de duas pessoas mandarem arquivos com o mesmo nome.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi hargon

 

Resolvi praticamente no mesmo dia

 

Modifiquei o seguinte:

 

de

msg = corpo

msg = corpo & "<BR>"

msg = msg & caminho

objCDOSYSMail.htmlBody = msg

 

 

modifiquei para

msg = corpo

msg = corpo & "<BR>"

msg = msg & foto

objCDOSYSMail.htmlBody = msg

 

Ai quando envia o formulario aparece no email como um preview

 

 

Valeu

 

 

Abs

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.