Hej Jag begränsar frågan till detta istället. Jag skickar med ett exempel: Mitt nuvarande Jmail ser ut som du beskriver och det funkar bra. Det jag nu vill göra är att ersätta innehållet i body: Body = upload.Form("body") med innehållet i en html-fil. Dvs jag vill inte skriva i formulärets textruta och detta håller på att göra mig mycket tunnhårig. Jag får helt enkelt inte in den includerade filen. Har du kollat om inte koden du fick fungerar? Om jag förstår dig rätt så går det inte att göra så som du vill. Hej FSO = File System Object dvs att du med detta kan skapa lasa redigera textfiler på servern. Yes! Nu funkar detmailformulär
Jag har följande
medlem.asp
här gör jag ett urval på medlemmar
medlemresultat.asp
Urvalet presenteras
Skickas till
mail.asp (Jmail)
här skriver jag ett meddelande mm och skickar. det går då iväg till det gjorda urvalet så fram hit är allt ok.
Nu har jag gjort så att jag innan mail.asp dynamiskt kan välja att includera en html-fil istället för den textrutan jag annars skriver texten i (txtBody) Hit är allting också ok
När jag nu skickar detta till ett sändformulär (Jmail) så måste jag ersätta txtBody med mit inkluderade innehåll från html-filen och där får jag problem. Vad skall jag ersätta strsubject = upload.Form("txtBody") med???? den inkluderade filen är ju inget fält så här är det just nu tvärstopp. Hoppas jag har förklarat problemet någorlunda begripligt och att någon kan ge mig lite tips.
strEpostlista = upload.Form("epostlista")
strSubject = upload.Form("txtBody")
strSubject = upload.Form("txtSubject")Sv: mailformulär
Går det att skicka med något som inte ligger i en textbox eller liknande i ett jmailformulär. Jag vill skicka med en html-fil så att mottagen får det som ett html-mail.Sv:mailformulär
<code>
Attaching files to your w3 JMail emails requires that the file you wish to attach resides on the webserver. However, using w3 Upload, you can let the user upload the file to the webserver and attach it on the fly. Check out the samples below to find out more...
First of all we a form where the user can enter his email message and select which file to attach.
JMailUpload.asp
<html>
<head>
<title>emailform</title>
</head>
<body>
<font face="verdana, arial" size="2"><b>
<form method="post" action="JmailUploadProcess.asp" ENCTYPE="multipart/form-data">
Complete this form and click the submit-button. We will answer your
questions as soon as possible.
<br><br>
Your name <br>
<input type="text" size="25" name="name"><br>
Your email <br>
<input type="text" size= "25" name= "email"><br>< /FONT>
Recipient email <br>
<input type= "text" size= "25" name= "recipient"><br>< /FONT>
State your business <br>
<select name="subject" size="1">
<option value="help">help
<option value="tips">tips
<option value="other">other
</select>
<br>
Enter your question <br>
<textarea name="body" cols="40" rows="15" wrap="PHYSICAL"></textarea>
<br>
Attachments <br>
<input type="file" name="attachment">
<br>
<br>
<input type="submit" value=" Submit ">
</form>
</b></font>
</body>
</html>
Okay, Now lets put all that info into our email. Again, notice how we use the Upload object instead of the Request object.
JMailUploadProcess.asp
<%@LANGUAGE="VBSCRIPT" %>
<HTML>
<BODY>
<%
' Create the JMail message Object
set msg = Server.CreateOBject( "JMail.Message" )
Set upload = Server.CreateObject( "w3.Upload" )
' Check for attachments and add them to the email
set attachment = upload.Form( "attachment" )
if attachment.IsFile then
msg.AddCustomAttachment attachment.filename, attachment.item, false
end if
' Set logging to true to ease any potential debugging
' And set silent to true as we wish to handle our errors ourself
msg.Logging = true
msg.silent = true
' Get the form variables, using the upload object
Name = upload.Form("name")
SenderEmail = upload.Form("email")
Subject = "Regarding " & upload.Form ("subject")
Recipient = upload.Form("recipient")
Body = upload.Form("body")
' And apply them to the message
msg.From = SenderEmail
msg.FromName = Name
msg.AddRecipient Recipient
msg.Subject = Subject
msg.Body = Body
' To capture any errors which might occur, we wrap the call in an IF statement
if not msg.Send( "mail.myDomain.net" ) then
Response.write "<pre>" & msg.log & "</pre>"
else
Response.write "Message sent succesfully!"
end if
' And we're done! the message has been sent.
%>
</BODY>
</HTML>
There you go! Notice how w3 Upload never actually saves the file to your disc, but rather just attaches the file to the email. Quite nifty as your webserver wont get cluttered with files.
</code>Sv: mailformulär
Det jag gör är följande:
file1.asp
Här gör jag ett urval på medlemmar från en databas. Urvalet skickas vidare tillsammans med länken till ett nyhetsbrev som är det filinnehåll jag vill skicka
skickaepost_enamn_html.asp?nyhet=nyhetsbrev/nyhetsbrev1.htm
File2.asp
Här ligger själva mailformuläret + includen server.execute ....
<%
newPage = Request.QueryString("nyhet")
Server.Execute(newPage)
%>
File3.asp
Är sändfilen för Jmailet
hit får jag med alla definierade fält och det funkar som sagt om jag skriver mitt meddelande i textrutan body, men jag villa alltså ersätta den men innehållet nyhetsbrev1.htm.
Vet du hur man kan lösa detta är jag vääääääldigt tacksam för ett svar.
Sv:mailformulär
<code>
Attachments <br>
<input type="file" name="attachment">
<br>
<br>
<input type="submit" value=" Submit ">
</form>
</b></font>
</body>
</html>
</code>
Du skall alltså skriva in vad filen heter inkl sökväg. Det bästa sättet är ju att använda:
<code>
<%
Dim filen
filen = server.MapPath("/MinaFiler/")
%>
</code>
Sedan skriver du bara i textboxen:
filen & nyheter.htm
Detta borde räcka, för sedan kommer ju:
<code>
' Check for attachments and add them to the email
set attachment = upload.Form( "attachment" )
if attachment.IsFile then
msg.AddCustomAttachment attachment.filename, attachment.item, false
end if
</code>
..och då borde saken vara klart.Sv:mailformulär
Dvs att ersätta texten i Body med en HTML fil.
Enklast är nog att koda om det så att texten du har i HTML filen redan finns i sidan som skickar mailen.
Eventuellt att det går att läsa in filen med FSO, men jag vet inte hur den kommer att formatera sig när mailet skickas sen.
//Anna-KarinSv: mailformulär
Problemet är att man dynamiskt skall kunna välja olika html-filer vars innehåll skall skickas med. Det jag gör är en appl för nyhetsutskick. Idag gör jag det med Jmail och vanlig text, mailen kan sedan sparas i en databas. Det jag vill göra nu är precis samma sak förutom att det istället för text skall vara htm-mail + att i databasen sparas länken till nyhetsbrevet istället för texten.
Vad är FSO för något? Jag är inte programmerare så jag har en hel del luckor i mina kunskaper.Sv:mailformulär
(det finns mycket mera men det är nog det enda som är intressant för dig).Sv: mailformulär
Jag gjorde så här:
I den första Jmail-filens textruta lade jag helt enkelt in
<%
newPage = Request.QueryString("nyhet")
Server.Execute(newPage)
%>
sendfilens textruta får då ett innehåll som visseligen bara består av en filens html-kod men mailet blir bra, resten gjorde jag ingenting åt och vips så såg mailet helt ok ut. Nu återstår bara lite tester och anna funktionalitet att lösa så jag återkommer kanske med fler frågor om det men nu markerar jag detta som löst. Det var förslaget att klistra in "variabel med sökväg & filnamn" som ledde mig rätt.
Tack för hjälpen alla ni som svarat.