WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   ASP-Seite per Email versenden (http://www.wcm.at/forum/showthread.php?t=124111)

webwurm 03.02.2004 10:39

ASP-Seite per Email versenden
 
Hallihallo,
vielleicht könnt ihr mir helfen:

Ich würde gerne eine Datenbankgenerierte HTML-Seite (.asp) per Email versenden.

D. h. z. B. bei Klick auf einen Link die aktuelle Seite an eine bestimmte Email-Adresse schicken.

Habt ihr irgendwelche Ideen?

Danke,
webwurm

JoergStueger 03.02.2004 10:42

Hallo!

Ist kein sonderlich grosses Problem.

An was scheiterts? Am versenden selbst? Am versenden als HTML Mail oder was?

LG
Joerg

webwurm 03.02.2004 11:25

Also, ich kann eine HTML-Mail versenden.

Allerdings müsste ich ja da den gesamten HTML-Code in einer String-Variablen zusammen basteln. D. h. ich nehme z. B. eine HTML-Datei, lese diese Zeile für Zeile ein, weise dem HTML-Body der Email den String zu und sende die Email.

Bei .Asp-Seiten kann das ja so nicht funktionieren, da ich dann den Quellcode per Email versende und nicht die - vom Browser daraus erzeugte - HTML-Datei ohne ASP-Code.

Natürlich könnte ich auch datenbankgesteuert einen String zusammen basteln. Einfacher wäre, wenn ich irgendwie auf den Code einer schön gestalteten (ohne Grafiken) und vom Browser "kompilierten" Seite zugreifen könnte.

Ich hoffe, ich hab mich klarer ausgedrückt.

JoergStueger 03.02.2004 13:12

Warum denkst du das geht nicht?

Du musst ja trotzdem den Code für den Client aufbereiten?

Hast ein Beispiel was Du machen möchtest?

LG
Joerg

webwurm 03.02.2004 13:45

kurz zur erklärung:
ich habe z. B. einen webshop. am ende der bestellung zeige ich auf einer seite datenbankgesteuert den rechnungsempfänger und den warenkorb an. das geht ganz einfach: in nehme meinen dreamweaver, layoute die seite und programmiere alles datenbankgesteuerte.

diese seite möchte ich jetzt als email versenden!

mein vorschlag: ich lese die .asp-datei (=textdatei) also zeile für zeile ein und übergebe sie dem cdosys-objekt als body.

mein problem: hier übernimmt er die datei so, wie sie als .asp (also textdatei) am server liegt. ich will aber die fertige html datei versenden, die der webserver an den browser liefert.

klar???

JoergStueger 03.02.2004 13:51

Ja klar, ich mach das genauso ...

Du zeigst dem User die Zusammenfassungs-Seite ja an, der kriegst ja nur HTML Code, und genau den stopfst Du 1:1 noch einmal in die Mail.

LG
Joerg

webwurm 03.02.2004 14:05

ich würds so machen:
und da erhalte ich die "kompilierte" version, nicht den quellcode?

<%
'====== Text - Datei einlesen ============================
' +++ Konstanten und Variablen deklarieren
Const fsForReading = 1
Dim objFs ' FileSystemObject Objekt
Dim objTextStream ' Textstream Objekt

' +++ Datei, deren Inhalt gelesen wird:
strDateiname = Server.MapPath(strVirtDateiname)


' +++ FileSystemObject anlegen und in fs speichern:
Set objFs = CreateObject("Scripting.FileSystemObject")

' +++ Textstream oeffnen, erlaubt Zugriff auf den Inhalt der Datei
Set objTextStream = objFs.OpenTextFile(strDateiname, fsForReading)

' +++ Gesamten Datei-Inhalt lesen und in strInhalt speichern
strInhalt = objTextStream.ReadAll

' +++ Datei-Inhalt in HTML umwandeln
'strInhaltHTML = Server.HTMLEncode(strInhalt)
'strInhaltHTML = Replace(strInhaltHTML,vbCrLf,"
" & vbCrLf)

' +++ Textstream schliessen
objTextStream.Close
' +++ Resourcen freigeben
Set objTextStream = Nothing
Set objFs = Nothing
%>

JoergStueger 03.02.2004 14:11

Ich mach das so ...

Hab ja keine Ahnung was Du mit Deinem Script willst? Liest Du da ne Datei aus?

<%
'HTML Mail erzeugen
Dim MKNr
Dim OrNr
Dim strSQL
Dim strConnection
Dim conn
Dim rs
Dim htmlmail
Dim htmlmail2
Dim email
Dim mvCount
Dim mvOrderSum2

mvOrderSum2 = mvOrderSum

htmlmail = "<HTML>"
htmlmail = htmlmail & "<META HTTP-EQUIV=Content-Type CONTENT=text/html; charset=Windows-1252>"
htmlmail = htmlmail & "<head>"
htmlmail = htmlmail & "<title>Test</title>"
htmlmail = htmlmail & "<link rel=Stylesheet type=text/css href=http://xxx/styles/mail.css>"
htmlmail = htmlmail & "</head>"

htmlmail = htmlmail & "<td colspan=3 class=HEADLINE>Vielen Dank fuer Ihre Bestellung!
</class>
</td>

"
htmlmail = htmlmail & "Die Einzelheiten Ihrer Bestellung sind unten aufgeführt." & "[/b]

"
htmlmail = htmlmail & "<hr size=1 width=""100%"" align=left>"

htmlmail = htmlmail & "<table border=0 cellpadding=0 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=""100%"" id=AutoNumber1>"
htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td width=260>Ihre Kundendaten:</td>"
htmlmail = htmlmail & "<td>XXX-Kundennummer: " & mvMkID &"</td>"
htmlmail = htmlmail & "</tr>"
htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td width=260></td>"
htmlmail = htmlmail & "<td>" & mvTitle & " " & mvVname & " " & mvNName & "</td>"
htmlmail = htmlmail & "</tr>"
htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td width=260></td>"
htmlmail = htmlmail & "<td>" & mvStr &"</td>"
htmlmail = htmlmail & "</tr>"
htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td width=260></td>"
htmlmail = htmlmail & "<td>" & mvPLZ & " " & mvOrt & "</td>"
htmlmail = htmlmail & "</tr>"
htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td width=260></td>"
htmlmail = htmlmail & "<td>" & gfGetTableAttr(mvCountryRS,"shpOrCtBz", "shpOrCtID=" & mvLand) & "</td>"
htmlmail = htmlmail & "</tr>"
htmlmail = htmlmail & "</table>

"

htmlmail = htmlmail & "<hr size=1 width=""100%"" align=left>

"


htmlmail = htmlmail & "<tr>"

mvCount =0

DO WHILE NOT rs.EOF

if mvCount Mod 2 <> 0 then
'mvRowBGColor = Application("ColorRowEven")
mvRowBGColor = "DBDBDB"
else
'mvRowBGColor = Application("ColorRowOdd")
mvRowBGColor = "#999999"
end if

htmlmail = htmlmail & "<td valign=top nowrap align=center bgcolor=" & mvRowBGColor & ">" & rs("shpWaUsrMe") & "</td>"
htmlmail = htmlmail & "<td valign=top nowrap align=left bgcolor=" & mvRowBGColor & ">" & rs("sBsArNr") &"</td>"
htmlmail = htmlmail & "<td valign=top align=center bgcolor=" & mvRowBGColor & ">" & rs("sBsArGr") &"</td>"
htmlmail = htmlmail & "<td valign=top align=center bgcolor=" & mvRowBGColor & ">" & rs("sBsArFa") &"</td>"
htmlmail = htmlmail & "<td valign=top nowrap align=left bgcolor =" & mvRowBGColor &">"& rs("sBsArBz") & "</td>"
htmlmail = htmlmail & "<td valign=top nowrap align=right bgcolor=" & mvRowBGColor & ">" & rs("dVkPr") &" " & mvWaehrung &"</td>"
htmlmail = htmlmail & "<td valign=top nowrap align=right bgcolor=" & mvRowBGColor & ">" &(rs("shpWaUsrMe") * CCur(RS("dVkPr"))) &" " & mvWaehrung &"</td></tr>"

mvCount = mvCount +1
rs.MoveNext
'Wend
loop
htmlmail = htmlmail & "</table>

"


htmlmail = htmlmail & "<table border=0 cellpadding=0 cellspacing=1 width=""100%"">"
htmlmail = htmlmail & "<tr>"
if mvLieferArt = mcLieferArtNORMAL then
mvOrderSum = mvOrderSum + Application("OrderVersandkosten")
htmlmail = htmlmail & "<td valign=top colspan=5>Versandkosten:</td>"
htmlmail = htmlmail & "<td valign=top align=right nowrap>" & Application("OrderVersandkosten") & "</td>"
else
mvOrderSum = mvOrderSum + Application("OrderVersandkosten") + Application("OrderExpresskosten")
htmlmail = htmlmail & "<td valign=top colspan=5>Versandkosten + Expressgebühr:</td>"
htmlmail = htmlmail & "<td valign=top align=right nowrap>" & Application("OrderVersandkosten") + Application("OrderExpresskosten") & "</td>"
end if
htmlmail = htmlmail & "</tr>"
if mvZahlArt = mcZahlArtNachnahme then
mvOrderSum = mvOrderSum + Application("OrderNachnahmekosten")
htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td valign=top colspan=5>Nachnahmegebühr:</td>"
htmlmail = htmlmail & "<td valign=top align=right nowrap>" & Application("OrderNachnahmekosten") &"</td>"
htmlmail = htmlmail & "</tr>"
end if

htmlmail = htmlmail & "<tr>"
htmlmail = htmlmail & "<td valign=top colspan=5>Der Gesamtbestellwert beläuft sich auf:</td>"
htmlmail = htmlmail & "<td valign=top align=right class=PREISANGABE nowrap > <div style=border-bottom-style: double; border-bottom-width: 3>" & mvOrderSum2 & "</div></td>"
htmlmail = htmlmail & "</tr>"
htmlmail = htmlmail & "</table>



"


Set email = CreateObject("CDONTS.NewMail")

With email
.From = "office@xxx.com"
.To = mvemail
.Subject = "xxx.com Onlinebestellung für " & mvvname & " " & mvnname
.BodyFormat = 0
.MailFormat = 0
.Body = htmlmail & htmlmail2
.Send
End With

Set eMail = Nothing


RS.Close
conn.Close




SET rs = nothing
SET conn = nothing

%>

webwurm 03.02.2004 14:20

ah ja.
das ist mir schon klar.
ich hab nur gehofft, dass ich eine html-email im dreamweaver oder wo auch immer layouten kann. daher die idee, einfach eine seite anzulegen und diese string für string einzulesen. was ja prinzipiell kein problem ist, nur mit den programmgesteuerten teilen geht das nicht.

ich werds aber so versuchen: layout mit dreamweaver mit platzhalter im text > per skript (s. o.) einlesen und platzhalter (z. B. ##firmenname##) ersetzen.

vielen dank aber auch.
lg
webwurm

JoergStueger 03.02.2004 14:26

Bitte auch wenns nicht das ist, was Du hören bzw. lesen wolltest ...

Alles geht halt nicht mit DMVer....

LG
Joerg


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag