Avatar billede meyer Nybegynder
20. august 2008 - 11:13 Der er 12 kommentarer og
1 løsning

vedhæft flere filer i jmail med aspupload

Er her nogen der kan hjælpe mig med at få denne til at sende flere vedhæftede filer?

<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set Upload = Server.CreateObject("Persits.Upload.1")
  Upload.SetMaxSize 8000000, True
  On Error Resume Next
 
  Count = Upload.Save
  If Err.Number = 8 Then
    fejl = "Filen er for stor."
  Else
    if Err <> 0 then Fejl = "Der opstod en fejl : " & Err.Description
  end if     


 
  Count = Upload.Save ("D:\vhosts\xxx.dk\httpdocs\log\intranet\")
 
  if Count>0 then
    set file1=Upload.Files("file1")
  end if
 
  navn = Upload.form("navn")
  email = Upload.form("email")

  Set JMail          = Server.CreateObject("JMail.SMTPMail")
  'REt DOMÆNE til dit domæne navn:
  JMail.ServerAddress = "mail.xxx.dk"
  JMail.Sender        = "xxx@xxx.dk"
  JMail.Subject      = "emnet"
  JMail.AddRecipient  "xxx@xxx.dk"

  JMail.Body = "En mail fra : " & navn & " og brugeren har denne email adresse : " & email
 
  if Count>0 then
    JMail.AddAttachment (file1.path)
  end if
  JMail.Execute
 
  Set JMail = Nothing
 
  if count>0 then
    Upload.DeleteFile (file1.path)
  end if
 
  Set file1=nothing
  set upload=nothing
 
  Response.Write "Mail sendt."
end if
%>
<html>
<head></head>
<body>
<form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method="POST" ENCTYPE="multipart/form-data">
<br>Navn: <input type="text" name="navn" size="20">
<br>Fra (email): <input type="text" name="email" size="20">
<br>Fil1: <input type="file" name="file1" size="20">
<br><input type="submit" name="send" value="send">
</form>
</body>
</html>
Avatar billede w13 Novice
20. august 2008 - 11:27 #1
Du kører bare:

JMail.AddAttachment (file1.path)

for hver uploadede fil.
Avatar billede meyer Nybegynder
20. august 2008 - 11:44 #2
Så kommer den med fejl: Object required: 'file2'
Avatar billede w13 Novice
20. august 2008 - 11:46 #3
Ja, du skal også rette her:

  if Count>0 then
    set file1=Upload.Files("file1")
  end if

Det skal vel så være:

  if Count>0 then
    set file1=Upload.Files("file1")
    set file2=Upload.Files("file2")
  end if

Så skal du selvfølgelig sørge for, at uploadfeltet hedder "file2".

Og den skal også slettes fra serveren igen, så ret:

  if count>0 then
    Upload.DeleteFile (file1.path)
  end if
 
  Set file1=nothing

til:

  if count>0 then
    Upload.DeleteFile (file1.path)
    Upload.DeleteFile (file2.path)
  end if
 
  Set file1=nothing
  Set file2=nothing
Avatar billede meyer Nybegynder
20. august 2008 - 11:53 #4
Hmmm... ja selvfølgelig ...
havde skrevet:

if Count>0 then
    set file1=Upload.Files("file1")
    set file1=Upload.Files("file2")
      end if

;-)
Avatar billede meyer Nybegynder
20. august 2008 - 11:55 #5
Hvis jeg nu skal sende til en gruppe fra databasen hvor skal jeg så sætte mit loop ind henne?

do while...

loop
Avatar billede w13 Novice
20. august 2008 - 12:02 #6
Det er rundt om denne linje:

JMail.AddRecipient  "xxx@xxx.dk"

Så du får:

Do While Not rs.EOF
  JMail.AddRecipient  rs("email")
  rs.MoveNext
Loop

Hvis du altså lægger e-mail-adresserne i recordsettet kaldet "rs".
Avatar billede w13 Novice
20. august 2008 - 12:04 #7
:)
Avatar billede meyer Nybegynder
20. august 2008 - 13:00 #8
Endnu en gang redder du mig ;-)

Tusind tak!
Avatar billede meyer Nybegynder
20. august 2008 - 13:25 #9
Jeg får dog denne fejl når jeg eksempelvis kun sender 1 fil:

Object required: 'file2'

I den linie hvor den vil slette.....
Avatar billede meyer Nybegynder
20. august 2008 - 13:48 #10
Har klaret den :-)
Avatar billede meyer Nybegynder
20. august 2008 - 13:57 #11
Øhh.. det har jeg ikke alligevel - det ser ud til at det er der hvor vi attacher filerne det går galt..hvis der kun er en så mangler den fil 2 osv.
Avatar billede w13 Novice
20. august 2008 - 14:11 #12
Så må du smide en if-sætning rundt om de steder, hvor file2 optræder. F.eks.:

if Count>0 then
    set file1=Upload.Files("file1")
    if Upload.Files("file2") then
        set file1=Upload.Files("file2")
    end if
end if

og:

  if count>0 then
    Upload.DeleteFile (file1.path)
    if Upload.Files("file2") then
      Upload.DeleteFile (file2.path)
    end if
  end if

  Set file1=nothing
  if Upload.Files("file2") then
    Set file2=nothing
  end if
Avatar billede meyer Nybegynder
20. august 2008 - 14:19 #13
Takker :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester