Avatar billede bimmer123 Nybegynder
07. juli 2001 - 13:04 Der er 15 kommentarer og
1 løsning

Vedhæfte fil!

Jeg skal bruge et mail script hvor det er muligt for brugere at sende en mail igennem en form, og vedhæfte en .html fil fra deres egen computer til mailen. Det skal laves med JMail, og ligges i en .zip fil til download.
Avatar billede jakobandersen Nybegynder
07. juli 2001 - 13:10 #1
For at gøre det bliver du nødt til at uploade filen til serveren først og derefter slette den´når den er sendt med.
Avatar billede tdaugaard Nybegynder
07. juli 2001 - 15:53 #2
moonduck:> faktisk ikke. JMail har en AddAttachment funktion der virker som en slags virtuel upload komponent. Den uploader filen direkte som en vedhæftet fil. Jeg har selv prøvet at lave det i mit webmail system, men jeg har ikke haft ordentlig success med det :-(
Avatar billede bimmer123 Nybegynder
07. juli 2001 - 15:55 #3
tdaugaard > Kan du fortælle lidt mere om hvad du har prøvet og hvad der gik galdt????
Avatar billede tdaugaard Nybegynder
07. juli 2001 - 16:35 #4
Jow da :-)

Ups .. det må du undskylde, jeg fik lige kigget på mit system og så at man faktisk SKAL uploade filen først. Eller dvs. man kan vist nøjes med at uploade den virtuelt ... men

Altså, jeg har JMail objektet i en Session sådan at den ikke sletter det hvergang en side er blevet vist. Så har jeg på \"Send email\" siden en form med et \"file\" felt. Her vælger man en fil og klikker \"Attach\".

Så åbner den en side der uploader og udfører AddAttachment.

Det der gik galt var sådanset bare at det ikke funkede  :-(
Avatar billede jakobandersen Nybegynder
07. juli 2001 - 19:10 #5
moonduck-> Jeg har fint fået det til at virke hvor jeg har brugt Upload først også mail..

Men lige pt. er jeg på arbejde og kan ikke huske adgangskoder til en IIS/PWS.
Avatar billede tdaugaard Nybegynder
07. juli 2001 - 19:14 #6
moonduck:> ehm .. say what !?
Avatar billede jakobandersen Nybegynder
07. juli 2001 - 19:52 #7
Jeg siger at jeg fint kan få det til at virke vha. disse fire punkter:

1) Brugeren udfylder formen og uploadfeltet.
2) Filen uploades vha. en pure script upload eller en upload komponent
3) Filen fra serverens filsystem vedhæftes til emailen og emailfelterne udfyldes.
4) Filen slettes fra serverens filsystem.

Hvis det er at jeg ikke har adgang til en IIS/PWS er det fordi vi ikke kører ASP på arbejdet.
Avatar billede tdaugaard Nybegynder
07. juli 2001 - 19:54 #8
Nåå .. men du adresserede dig selv ;-)
Avatar billede bimmer123 Nybegynder
07. juli 2001 - 19:57 #9
tdaugaard > Kan jeg få det script?
Avatar billede bimmer123 Nybegynder
07. juli 2001 - 19:58 #10
ups, jeg mente:
moonduck > Kan jeg få det script?
Avatar billede jakobandersen Nybegynder
07. juli 2001 - 20:13 #11
tdaugaard>> Nåhh.. Lige en fejl.

bimmer123>> Jow, du kan godt få scriptet men jeg skal lige skille det lidt ud fra en større applikation oog derfor teste om det virker. Dette kan jeg ikke gøre før jeg kommer hjem...
Avatar billede bimmer123 Nybegynder
08. juli 2001 - 01:31 #12
Det er lige meget, jeg har fundet en anden måde at lave det på!
Avatar billede tdaugaard Nybegynder
08. juli 2001 - 01:32 #13
lad os høre :-)
Avatar billede bimmer123 Nybegynder
08. juli 2001 - 01:34 #14
Jeg har ikke løst problemet, jeg har bare droppet det med at vedhæfte en fil! ;-)
Avatar billede jakobandersen Nybegynder
08. juli 2001 - 21:49 #15
Så fik jeg lidt tid(+ Adgang til en IIS), jeg har brugt den klasse der ligger hos ASP101 (Det er kun nødvendigt at hente Upload.asp hvori klassen ligger)til at uploade filen med, dvs. det eneste dette kræver er at man ligger på en IIS5 og har en JMail komponent installeret.

<% Option Explicit %>
    <!-- #include file=\"upload.asp\" -->
<%
    Function BinaryToString(Binary)
          Dim I, S
          For I = 1 To LenB(Binary)
            S = S & Chr(AscB(MidB(Binary, I, 1)))
          Next
          BinaryToString = S
    End Function

    Dim objUpload
    Set objUpload = New FileUploader
    objUpload.Upload()
%>
<html>
<head>
    <title>Send en mail med attachment.</title>
</head>
<body>

<%
If Not objUpload.Form(\"cmd\") = \"Send\" Then
%>

    <form method=\"POST\" enctype=\"multipart/form-data\" action=\"<%= Request.ServerVariables.Item(\"SCRIPT_NAME\") %>\">
    <input type=\"hidden\" name=\"cmd\" value=\"Send\">
        <table>
            <tr>
                <td>Afsender Email:</td>
                <td><input type=\"text\" size=\"46\" name=\"AfsenderEmail\"/></td>
            </tr>
            <tr>
                <td>Afsender Navn:</td>
                <td><input type=\"text\" size=\"46\" name=\"AfsenderNavn\"/></td>
            </tr>
            <tr>
                <td>Modtager:</td>
                <td><input type=\"text\" size=\"46\" name=\"Modtager\"/></td>
            </tr>
            <tr>
                <td>Emne:</td>
                <td><input type=\"text\" size=\"46\" name=\"Emne\"/></td>
            </tr>
            <tr>
                <td>Besked:</td>
                <td><textarea cols=\"35\" rows=\"15\" name=\"Besked\"></textarea></td>
            </tr>
            <tr>
                <td>Vælg en attachment:</td>
                <td><input type=\"file\" size=\"46\" name=\"Attachment\"/></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td><input type=\"submit\" value=\"send\"/></td>
            </tr>
        </table>

    </form>
<%

Else

   
    Dim objMail
    Set objMail = Server.CreateObject(\"JMail.Message\")

    If Not objUpload.Files.Count = 0 Then
        Dim File
        For each File In objUpload.Files.Items
            objMail.AddCustomAttachment File.FileName, BinaryToString(File.FileData), false
        Next
               
        objMail.From = objUpload.Form(\"AfsenderEmail\")
        objMail.FromName = objUpload.Form(\"AfsenderNavn\")
   
        objMail.AddRecipient objUpload.Form(\"Modtager\")
        objMail.Subject = objUpload.Form(\"Emne\")

        objMail.Body = objUpload.Form(\"Besked\")

        If Not objMail.Send(\"mail.stofanet.dk\") Then
          Response.write \"Beskeden blev ikke sendt.\"
        Else
          Response.write \"Beskeden er sendt.\"
        End If

    End If
       
    Set objMail = Nothing
    Set objUpload = Nothing
End If

%>

</body>
</html>
Avatar billede jakobandersen Nybegynder
08. juli 2001 - 21:50 #16
PS: De tusind point ville selvfølgelig ikke være dårligt :-D
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