Avatar billede morton Nybegynder
27. august 2003 - 13:48 Der er 34 kommentarer og
1 løsning

attach fil via en form som derefter sender til mail ved submit

Hej Eksperter,

Jeg står og skal lave en job-ansøgningsformular til mit site og kan godt brug lidt hjælp (min webserver kører med IIS 5).
Jeg kunne godt tænke mig noget a la lignende den formular, som kan ses på: http://www.novonordisk.com/jobs/job_section/application_dk.asp?lVacancyID=7328&sLangID=dk

Dog vil jeg gerne have, at informationen man indtaster og filerne man vedhæfter bliver sendt til en en mailadresse fremfor, at det bliver uploadet og er placeret på serveren. Jeg har været lidt rundt på nettet og kigget efter løsninger, men synes ikke at være stødt på noget relevant info herom. Jeg ville finde det mest optimalt, hvis det kan gøres rent med asp - men er der nogen som kender til et mailto: cgi-script, som også kan håndtere vedhæftede filer er jeg også interesseret.

Mon der er nogen, som kunne hjælpe mig lidt med, hvordan dette kan gøres.

På forhånd tak :-)

Martin
Avatar billede vd-per Nybegynder
27. august 2003 - 18:08 #1
vil da gerne hjaelpe, men vil lige høre:
Har du allerede lavet en form og hvis ikke hvilke felter skal der vaere?
Avatar billede vd-per Nybegynder
27. august 2003 - 20:16 #2
det kan gøres med cdonts: (er en jeg lavede engang)
<%
dim fornavn, efternavn, adresse, postnr, by, email, besked, file, cdomail

fornavn = Request.Form("fornavn")
efternavn = Request.Form("efternavn")
adresse = Request.Form("adresse")
postnr = Request.Form("postnr")
by = Request.Form("by")
email = Request.Form("email")
besked = Request.Form("besked")
file = Request.Form("file")

Session("fornavn") = fornavn
Session("efternavn") = efternavn
Session("adresse") = adresse
Session("postnr") = postnr
Session("by") = by
Session("email") = email
Session("besked") = besked
Session("file") = file

if
file <> "" then

set cdomail=createobject("cdonts.newmail")
cdomail.from= email
cdomail.to="Din@Email.dk"
cdomail.subject="beta e-mail modul w/attachfile"
cdomail.body="Navn: " & fornavn & vbcrlf & "Efternavn: " &  efternavn & vbcrlf & "Adresse: " & adresse & vbcrlf & "Postnr: " & postnr & vbcrlf & "By: " & by & vbcrlf & "Email: " &  email & vbcrlf & vbcrlf & vbcrlf & "Besked: " & vbcrlf &  besked
cdomail.AttachFile(file)
cdomail.send
Set cdomail = Nothing

else

set cdomail=createobject("cdonts.newmail")
cdomail.from= email
cdomail.to="Din@Email.dk"
cdomail.subject="beta e-mail modul w/attachfile"
cdomail.body="Navn: " & fornavn & vbcrlf & "Efternavn: " &  efternavn & vbcrlf & "Adresse: " & adresse & vbcrlf & "Postnr: " & postnr & vbcrlf & "By: " & by & vbcrlf & "Email: " &  email & vbcrlf & vbcrlf & vbcrlf & "Besked: " & vbcrlf &  besked
cdomail.send
Set cdomail = Nothing

end if
%>


hvis du giver mig de felter du vil ha kan jeg godt lave den for dig.

//Per
Avatar billede vd-per Nybegynder
27. august 2003 - 20:36 #3
var ment som et svar :) , men som sagt kan jeg godt lave det for dig, men du maa selv lave grafik osv.
Dette mail script bruger CDONTS, men kan laves om til Jmail ell. ASPmail
Avatar billede vd-per Nybegynder
27. august 2003 - 20:55 #4
her er nogle links med lidt info omkring CDONTS:
http://www.devasp.com/Samples/mail.asp

(omkring sikkerhed med CDONTS) http://www.securiteam.com/securityreviews/5XP0E0A60W.html
Avatar billede morton Nybegynder
28. august 2003 - 10:30 #5
Hej Per,

Det er jo fremragende!! Det er 110% det jeg søgte! Tusinde tak for dit svar :-)
Jeg har CDONTS installeret på serveren, men troede ikke helt det kunne løfte opgaven. Jeg har prøvet at køre din kode, men får følgende fejl:

Microsoft VBScript compilation error '800a03ea'

Syntax error

/omd/omd_profil/perskode.asp, line 22

if
--^

Jeg er desværre ingen asp haj (er it-projektleder, ved lidt om meget :), så det er sikkert mig, som gør et eller andet forkert. Min kode ser sådan ud fra formen:

<html><body bgcolor="#E7E5D0" text="#000000">
<form method=post action=perskode.asp><br>
  <table width="29%" border="1" align="center">
    <tr>
      <td colspan="2" height="123"><img src="images/header.gif" width="608" height="136"></td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Fornavn*</font></td>
      <td width="54%">
        <input type="text" name="Fornavn">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Efternavn*</font>
      <td width="54%">
        <input type="text" name="Efternavn">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Adresse*</font>
      <td width="54%">
        <input type="text" name="Adresse">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Anden
        Adresse</font>
      <td width="54%">
        <input type="text" name="Anden Adresse">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">By*</font>
      <td width="54%">
        <input type="text" name="By">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Postnr.*</font>
      <td width="54%">
        <input type="text" name="Postnr.">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Telefonnr.*</font>
      <td width="54%">
        <input type="text" name="Telefonnr.">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Mbl.
        nr.</font>
      <td width="54%">
        <input type="text" name="Mbl. nr.">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">E-mail</font>
      <td width="54%">
        <input type="text" name="E-mail">
      </td>
    </tr>
    <tr>
      <td width="46%">
        <input type=submit name="submit" value="Indsend ans&oslash;gning">
     
      <td width="54%">&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>

Hvad gør jeg galt?

Pft.
Martin
Avatar billede vd-per Nybegynder
28. august 2003 - 12:44 #6
flere ting der gik galt, jeg havde lavet en fejl:
if
file <> "" then
skulle vaere:
if file <> "" Then

det andet var at de variabler og felter jeg havde lavet ikke passede med dine.

jeg har lavet scriptet og tested det saa nu virker det
Avatar billede vd-per Nybegynder
28. august 2003 - 13:04 #7
jeg har lagt scriptet op paa min server hvor du kan hentet det
jeg har lavet en Vedhaeft del paa din form, da du skrev du gerne vill ha det.
men kan hurtigt fjerne det.
http://seldar.dyndns.dk  (bare h. click og gem)
gider du ikke lige poste en besked naar du har hentet det.
Avatar billede morton Nybegynder
28. august 2003 - 13:11 #8
Hej Per,

Så har jeg hentet det. Mange tak :) - tager lige et kig på det og melder tilbage!

Mvh
Martin
Avatar billede vd-per Nybegynder
28. august 2003 - 14:21 #9
hvis du vil vide mere om asp er der god hjaelp at hente her:
www.html.dk
www.asp-help.com

sendt.asp kan jo laves saa det ser paenere ud, ell. det kan laves saa den den bare skrive at beskeden er sendet under din form paa siden post.htm
Avatar billede vd-per Nybegynder
28. august 2003 - 14:54 #10
jeg vil forslaa dig at du lave en eller anden form for validering af din form, da brugeren ellers kan skrive hvad det passer den osv. (spam) ell. fejl mails.

dette kan gøres med html (frontpage ect.) der ikke gør andet end siger at der skal vaere et min. & max. Tegn
Eller med et script.
(MailValidator er et godt bud (ASP))
Avatar billede morton Nybegynder
29. august 2003 - 09:58 #11
Hej Per,

Tak for kodningen! Det ser rigtigt lækkert ud :-) - jeg bliver dog nok lige til at stille dig et dumt spørgsmål.. i sendt.htm filen... hvor angiver jeg at den eksempelvis skal mailes til mig?

Mvh.
Martin
Avatar billede vd-per Nybegynder
29. august 2003 - 10:36 #12
det gør du der hvor der staar: cdomail.to="Din@Email.dk" (husk af skrive det begge steder)
Avatar billede vd-per Nybegynder
29. august 2003 - 10:38 #13
husk paa sendt skal ha .asp extension (du skrev sendt.htm) bare for at vaere sikker :)
Avatar billede morton Nybegynder
01. september 2003 - 10:34 #14
Hej Per,

Nu tror du sikkert jeg er et helt vildt fæ, men jeg kan ikke få det helt til at virke. Når jeg udfylder felterne i post.htm og ikke vedhæfter en fil lader det til at virke, da jeg bliver præsenteret med beskeden "Tak for din henvendelse", men jeg modtager desværre ingen mail. Vælger jeg at vedhæfte en fil får jeg fejlen:

error '80004005'
Unspecified error

/omd/omd_profil/sendt.asp, line 29

-------------------------------------------------------------------------------
Det er sikkert mig, som gør et eller andet helt galt, men hvad..
min post.htm ser således ud:
------------------------------------------------------------------------------

<html><body bgcolor="#E7E5D0" text="#000000">
<form method=POST action=sendt.asp><br>
  <table width="29%" border="1" align="center">
    <tr>
      <td colspan="2" height="123"><img src="images/header.gif" width="608" height="136"></td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Fornavn*</font></td>
      <td width="54%">
        <input type="text" name="fornavn" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Efternavn*</font>
      <td width="54%">
      <input type="text" name="efternavn" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Adresse*</font>
      <td width="54%">
        <input type="text" name="adresse" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Anden
        Adresse</font>
      <td width="54%">
        <input type="text" name="adresse2" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">By*</font>
      <td width="54%">
        <input type="text" name="by" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Postnr.*</font>
      <td width="54%">
        <input type="text" name="postnr" size="20" maxlength="4">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Telefonnr.*</font>
      <td width="54%">
        <input type="text" name="tlf" size="20" maxlength="8">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">Mbl.
        nr.</font>
      <td width="54%">
        <input type="text" name="mob" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%"><font face="Arial, Helvetica, sans-serif" size="2">E-mail
      *</font><td width="54%">
        <input type="text" name="email" size="20">
      </td>
    </tr>
    <tr>
      <td width="46%">
        Vedhæft<td width="54%">
        <input type="file" name="file" size="20"></td>
    </tr>
    <tr>
      <td width="46%">
        <input type=submit name="submit" value="Indsend ans&oslash;gning">
     
      <td width="54%">&nbsp;</td>
    </tr>
  </table>
</form>

</body>
</html>

-----------------------------------------------------------------------------
Min sendt.asp ser således ud:
-----------------------------------------------------------------------------
<%
dim fornavn, efternavn, adresse, postnr, by, email, besked, file, cdomail

fornavn = Request.Form("fornavn")
efternavn = Request.Form("efteravn")
adresse = Request.Form("adresse")
postnr = Request.Form("postnr")
by = Request.Form("by")
email = Request.Form("E-mail")
besked = Request.Form("besked")
file = Request.Form("file")

Session("fornavn") = fornavn
Session("efternavn") = efternavn
Session("adresse") = adresse
Session("postnr") = postnr
Session("by") = by
Session("E-mail") = email
Session("besked") = besked
Session("file") = file

if file <> "" Then

set cdomail=createobject("cdonts.newmail")
cdomail.from= email
cdomail.to="fox2scully@sol.dk"
cdomail.subject="beta e-mail modul w/attachfile"
cdomail.body="Navn: " & fornavn & vbcrlf & "Efternavn: " &  efternavn & vbcrlf & "Adresse: " & adresse & vbcrlf & "Postnr: " & postnr & vbcrlf & "By: " & by & vbcrlf & "Email: " &  email & vbcrlf & vbcrlf & vbcrlf & "Besked: " & vbcrlf &  besked
cdomail.AttachFile(file)
cdomail.send
Set cdomail = Nothing

else

set cdomail=createobject("cdonts.newmail")
cdomail.from= email
cdomail.to="fox2scully@sol.dk"
cdomail.subject="beta e-mail modul w/attachfile"
cdomail.body="Navn: " & fornavn & vbcrlf & "Efternavn: " &  efternavn & vbcrlf & "Adresse: " & adresse & vbcrlf & "Postnr: " & postnr & vbcrlf & "By: " & by & vbcrlf & "Email: " &  email & vbcrlf & vbcrlf & vbcrlf & "Besked: " & vbcrlf &  besked
cdomail.send
Set cdomail = Nothing

end if
%>
<html>
Tak for din henvendelse
<p><font face="Arial"><a href="post.htm"><font color="#000000">tilbage til
ansøgning</font></a></font></p><body bgcolor="#E7E5D0">
</html>
-------------------------------------------------------------------------------
Kan du med lethed se, hvad det er jeg gør galt?

Pft.
Martin
Avatar billede vd-per Nybegynder
01. september 2003 - 14:12 #15
der er en del ting der er forkert.
1. du har brugt den gamle sendt.asp
2. cdomail.body="Navn: " & fornavn & vbcrlf & "Efternavn: " ect. SKAL vaere paa samme linie.

lille forklaring af simple asp.

fornavn = Request.Form("fornavn")

fornavn bliver lavet til en variable med indhold Request.Form("fornavn")
Request.Form bruger du til at hente infomation fra din form og ("fornavn") er form feltets navn.

dvs. hvis du skriver Martin i dit form felt "fornavn" vil variablen fornavn ha en vaerdi fornavn = Martin

haaber det gav lidt mening.

dit asp script skulle hedde:

<%
dim fornavn, efternavn, adresse,adresse2, postnr, by, tlf, mob, email, file, cdomail

fornavn = Request.Form("fornavn")
efternavn = Request.Form("efternavn")
adresse = Request.Form("adresse")
adresse2 = Request.Form("adresse2")
by = Request.Form("by")
postnr = Request.Form("postnr")
tlf = Request.Form("tlf")
mob = Request.Form("mob")
email = Request.Form("email")
file = Request.Form("file")

Session("fornavn") = fornavn
Session("efternavn") = efternavn
Session("adresse") = adresse
Session("adresse2") = adresse2
Session("by") = by
Session("postnr") = postnr
Session("tlf") = tlf
Session("mob") = mob
Session("email") = email
Session("file") = file


if
file <> "" then

set cdomail=createobject("cdonts.newmail")
cdomail.from= email
cdomail.to="fox2scully@sol.dk"
cdomail.subject="beta e-mail modul w/attachfile"
cdomail.body="Fornavn: " & fornavn & vbcrlf & "Efternavn: " & efternavn & vbcrlf & "Adresse: " & adresse & vbcrlf & "Anden adresse: " & adresse2 & vbcrlf & "By: " & by & vbcrlf & "Postnr.: " & postnr & vbcrlf & "Telefon: " & tlf & vbcrlf & "Mobil: " & mob & vbcrlf & "E-mail: " & email
cdomail.AttachFile(file)
cdomail.send
Set cdomail = Nothing

else

set cdomail=createobject("cdonts.newmail")
cdomail.from= email
cdomail.to="fox2scully@sol.dk"
cdomail.subject="beta e-mail modul w/attachfile"
cdomail.body="Fornavn: " & fornavn & vbcrlf & "Efternavn: " & efternavn & vbcrlf & "Adresse: " & adresse & vbcrlf & "Anden adresse: " & adresse2 & vbcrlf & "By: " & by & vbcrlf & "Postnr.: " & postnr & vbcrlf & "Telefon: " & tlf & vbcrlf & "Mobil: " & mob & vbcrlf & "E-mail: " & email
cdomail.send
Set cdomail = Nothing

end if
%>
<html>
<Body>
Tak for din henvendelse
<p><font face="Arial"><a href="post.htm"><font color="#000000">tilbage til
ansøgning</font></a></font></p><body bgcolor="#E7E5D0">
</Body>
</html>

og igen saa SKAL cdomail.body=  flyttes op saa det staar paa 1 linie dvs.
& "Adresse: " & adresse & vbcrlf & "Postnr: " & postnr &
osv.
Avatar billede vd-per Nybegynder
02. september 2003 - 11:19 #16
ohh saa lige en fejl mere.
<html>
<body bgcolor="#E7E5D0">
Tak for din henvendelse
<p><font face="Arial"><a href="post.htm"><font color="#000000">tilbage til
ansøgning</font></a></font></p>
</Body>
</html>
Avatar billede morton Nybegynder
02. september 2003 - 11:50 #17
Hej Per,

cdomail.body= ect.. står på en 1 linie (det er bare når man laver en copy & paste ind i ekspertens svar-vindue den brækker linien :-)

Jeg har sikret mig, at det er den rigtige sendt.asp jeg bruger nu, men jeg oplever desværre stadig samme fejl..
Avatar billede morton Nybegynder
02. september 2003 - 11:52 #18
Kom lige til at give dig point der... det var ikke lige meningen (du skulle selvfølgelig have dem, men ville dog først lige have min form til at virke :)
Avatar billede vd-per Nybegynder
02. september 2003 - 11:55 #19
hmmm det kan jeg ikke forstaa, den virker fint paa min.

Er du sikker paa at dit CDONTS virker??
en anden ting er: du loader din side igennem din webserver ik? altsaa http://localhost  -  http://ip
Avatar billede vd-per Nybegynder
02. september 2003 - 11:56 #20
jeg lave lige et nyt script saa den køre asp scriptet paa din cv form side
Avatar billede morton Nybegynder
02. september 2003 - 12:00 #21
Mmm.. Cdonts virker - jeg bruger det nemlig til vores mødebookingssystem.
Er også 100% sikker på, at jeg kører det gennem vores webserver :-)
Avatar billede vd-per Nybegynder
02. september 2003 - 12:09 #22
ok nu skal du høre, jeg har testet scriptet og det virker fint (jeg lave en .rar fil til dig med post.htm og sendt.asp) det eneste du skal gøre er at udpak dem og køre dem i din browser (igennem din webserver)

en ting mere er at der SKAL vaere en afsender email addresse og det kan vaere derfor det ikke virkede for dig. jeg saetter det lige op og poster et link
Avatar billede vd-per Nybegynder
02. september 2003 - 12:22 #23
http://seldar.dyndns.dk/  (jeg har lagt den i en exe fil med install info) hvis du vil ha den i *.rar kan jeg ogsaa lave det
Avatar billede morton Nybegynder
02. september 2003 - 12:57 #24
Hej Per!

Jeg har hentet filen og afprøvet dem. Igen 1000 tak for din store indsats :-)
De gode nyheder er, at jeg nu modtager mailen! dog laver den følgende fejl prøver jeg at vedhæfte en fil:

error '80004005'
Unspecified error

/mode_booking/sendt.asp, line 36
Avatar billede morton Nybegynder
02. september 2003 - 13:00 #25
Jeg har lagt dine filer ind under mit mødebookingsbib., hvor jeg er 100% sikker på at cdonts er fuldt operationelt.
Avatar billede vd-per Nybegynder
02. september 2003 - 13:24 #26
den fejl du for er der hvor filen bliver attached til mail scriptet, det sker ikke paa min server (hvad er din server: IIS, Apache...??)
understøtter din server andre mail formatter: Jmail, ASPmail ect.  ??

er den en local server eller bruger du en udbyder?
Avatar billede vd-per Nybegynder
02. september 2003 - 13:36 #27
jeg har maaske fundet problemet, sidder du og arbejder paa web serveren eller paa en arbejdsstation??
Avatar billede morton Nybegynder
02. september 2003 - 13:37 #28
Jeg har prøvet scriptet af på to forskellige IIS-servere (SMTP enabled), som begge kører med Cdonts (de kører ikke med andre mail-formater). Begge servere er lokale. Sidder netop nu og gransker et interessant link jeg fandt da jeg søgte på fejlen: http://www.planet-source-code.com/vb/scripts/ShowCode.asp?lngWId=4&txtCodeId=6607
Avatar billede morton Nybegynder
02. september 2003 - 13:38 #29
jeg sidder og arbejder på min arbejdsstation
Avatar billede vd-per Nybegynder
02. september 2003 - 13:39 #30
der er en hurtig maade af teste det paa (om der er fejl i mit script)

gaa ind paa http://seldar.dyndns.dk (send en med og en uden attach) (bare et tomt *.txt)
Avatar billede vd-per Nybegynder
02. september 2003 - 13:46 #31
saa har jeg fundet problemet

det er lidt noget skidt.

det er som følger: naar man vedhaefter en fil igennem CDONTS,Jmail, ASPmail
saa attacher den en fil fra serveren og ikke fra clienten.
dvs. for at faa det til a virke paa den maade det er lavet paa skal man lave et script der sender den vedhæftet fil op paa serveren (samtidig navngiv den) og saa hente den igennem scriptet

Det er ikke noget jeg lige har tid til lige nu, men jeg kan da godt see paa det.
Avatar billede vd-per Nybegynder
02. september 2003 - 13:52 #32
er jeg da lidt ked af, men der er jo en maade af lave det paa, saa hvis du vil kan jeg godt lave det for dig

(har ikke arbejdet saa meget med ASP selv, saa jeg laere stadigvaek, og grunden til jeg ikke selv fik fejl er at jeg arbejder paa en IIS test server)
Avatar billede morton Nybegynder
02. september 2003 - 13:52 #33
Ok Per,

Ja, jeg fik også en fejl da jeg prøvede scriptet via din server.. damn..
Well, du skal i hvertfald have mange tak for din store hjælp - Håber jeg kan afhjælpe dig med et problem en dag - måske hvis du har et generelt IT/Netværksproblem :-)

Endnu en gang tak!

Mvh.
Martin
Avatar billede vd-per Nybegynder
02. september 2003 - 14:01 #34
det lyder godt, jeg er igang med af saette mig ind i win2k server og ms exchanges

jeg kigger videre paa det attach/vedhæft.
skal jeg bare sende en mail til fox2scully@sol.dk naar/hvis jeg finder en løsning. (nu er jeg jo started paa det saa vil jeg ogsaa finde en løsning :)
Avatar billede morton Nybegynder
02. september 2003 - 14:09 #35
Alletiders - Du må meget gerne sende en mail til de pågældende adresse, hvis du finder en løsning (jeg er meget interesseret). Jeg snuser også videre på nettet :-)
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