Avatar billede eromaster Nybegynder
31. maj 2011 - 13:52 Der er 5 kommentarer og
1 løsning

Jmail & indkøbskurv

Er næsten færdig med min indkøbskurv, men mangler lige sidste step, hvor kunden skal have tilsendt en email som ordrebekræftelse. Jeg har ok erfaring med Jmail, men jeg har et problem når det kommer til at have "længere" kode i msg.body. Mere specifikt, så er det 2 html tabeller jeg skal implementeret indeholdende ASP kode.
Håber ikke denne post bliver alt for forvirrende.

Jmail skabelon:

    set msg = Server.CreateOBject("JMail.Message")
    msg.Logging = true
    msg.silent = true

    msg.FROM = "robot@FJERNET.dk"
    msg.FROMName = "FJERNET.dk"
    msg.AddRecipient trim(TjekOrdre("Email"))
    msg.ContentType = "text/html"

    msg.Subject = "FJERNET.dk - Ordre bekræftelse"

    msg.Body = "<html><body><font face=calibri size=3>Hej " & TjekOrdre("Navn") & ",<br /><br />Tak for din ordre.<br /><br />Vi sender hermed en ordrebekræftelse på dit køb. Læs venligst mailen godt igennem, da den indeholder informationer vedrørende betaling.<br /><br />!!! TABELLERNE SKAL VÆRE HER !!!<br /><br />Med venlig hilsen<br />FJERNET<br /><br /><img src=http://FJERNET.dk/images/Logo.png><br /><br /><i>Obs. Denne e-mail kan ikke besvares, da den er sendt fra en automatisk e-mailrobot.</i></font></body></html>"

    if not msg.Send( "mail.andelsserver.dk" ) then
    Response.write "<pre>" & msg.log & "</pre>"
    end if
   
    Set msg = Nothing


Tabeller:
          <table>
        <tr>
            <td valign="top">
                <h2><b>Personinformationer:</b></h2>
                <br/>
                <b>Firma:</b> <%=TjekOrdre("Firma")%>
                <br/>
                <b>Navn:</b> <%=TjekOrdre("Navn")%>
                <br/>
                <b>Adresse:</b> <%=TjekOrdre("Adresse")%>
                <br/>
                <b>Postnr.:</b> <%=TjekOrdre("Postnr")%>
                <br/>
                <b>By:</b> <%=TjekOrdre("By")%>
                <br/>
                <b>Telefon:</b> <%=TjekOrdre("Telefon")%>
                <br/>
                <b>Email:</b> <%=TjekOrdre("Email")%>
                <br/>
            </td>
            <td width="100">&nbsp;</td>
            <td valign="top">
                <%if not TjekOrdre("LevNavn") = ("") then%>
                    <h2><b>Anden leveringsadresse:</b></h2>
                    <br/>
                    <b>Firma:</b> <%=TjekOrdre("LevFirma")%>
                    <br/>
                    <b>Navn:</b> <%=TjekOrdre("LevNavn")%>
                    <br/>
                    <b>Adresse:</b> <%=TjekOrdre("LevAdresse")%>
                    <br/>
                    <b>Postnr.:</b> <%=TjekOrdre("LevPostnr")%>
                    <br/>
                    <b>By:</b> <%=TjekOrdre("LevBy")%>
                    <br/>
                <%end if%>
            </td>
        </tr>
    </table>
   
    <br /><br />
   
    <table border=1>
        <tr>
            <td width="300"><b>Vare</b></td>
            <td width="75"><b>Pris</b></td>
            <td width="40" align="center"><b>Antal</b></td>
            <td width="75"><b>Sum</b></td>
        </tr>
           
    <%
    Set ListKurv = Server.CreateObject("ADODB.RecordSet")
    ListKurv.open "Select * From [KurvTBL] WHERE CookieID=" & Request.Cookies("KurvID") & " ORDER BY ID ASC", dbConnection
    if not ListKurv.EOF then
    ListKurv.MoveFirst
    end if
    do while not ListKurv.EOF
   
    sql = "SELECT * FROM ProdukterTBL WHERE ID=" & ListKurv("ProduktID")
    Set ListProdukt = Server.CreateObject("ADODB.Recordset")
    ListProdukt.Open sql, dbConnection, 1, 3
    %>
        <tr>
            <td><%if not ListKurv("ProduktID") = ("5") then%><a href="default.asp?side=produkt&id=<%=ListProdukt("ID")%>" target=_blank><%=ListProdukt("Navn")%></a><%else%><%=ListProdukt("Navn")%><%end if%></td>
            <td>DKK. <%=ListProdukt("Pris")%>,-</td>
            <td align="center"><%=ListKurv("Antal")%></td>
            <td>DKK. <%=ListProdukt("Pris") * ListKurv("Antal")%>,-</td>
        </tr>
       
    <%
    StringPrisTotal = StringPrisTotal + (ListProdukt("Pris") * ListKurv("Antal"))
   
    ListProdukt.Close
    Set ListProdukt = Nothing
   
      ListKurv.MoveNext
    loop
    ListKurv.Close
    set ListKurv = nothing
   
    sqlString="SELECT SUM(Antal) as TOTAL FROM KurvTBL WHERE CookieID = " & Request.Cookies("KurvID")
    Set CountTotalAntal = dbConnection.Execute(sqlString)
    %>
        <tr>
            <td></td>
            <td></td>
            <td align="center"><b><%=CountTotalAntal("TOTAL")%></b></td>
            <td><b>DKK. <%=StringPrisTotal%>,-</b></td>
        </tr>
    </table>
    <br />
    <a href="default.asp?side=bestil3&action=opret" class="art-button">Godkend ordre</a>
    <%
    StringPrisTotal = ("")
   
    CountTotalAntal.Close
    Set CountTotalAntal = Nothing
    %>
Avatar billede eromaster Nybegynder
31. maj 2011 - 13:55 #1
Tænker måske det er nemmeste at "udskrive" kode - måske i en skjult textarea så det udelukkende er i html kode når det kopieres over i Jmail scriptet?

Er bare lige blank hvordan.
Avatar billede keysersoze Guru
31. maj 2011 - 14:15 #2
sørg for at escape dine " samt udskrive asp-variabler korrekt - dvs i stedet for fx

<td class="someclass"><%=TjekOrdre("Firma")%></td>

skriver du

<td class=""someclass">" & TjekOrdre("Firma") & "</td>
Avatar billede keysersoze Guru
31. maj 2011 - 14:16 #3
og nederste linje skal selvfølgelig være

<td class=""someclass"">" & TjekOrdre("Firma") & "</td>
Avatar billede eromaster Nybegynder
31. maj 2011 - 14:40 #4
Løsning var faktisk at smide scriptet i en texterea og så køre den her funktion:

String1 = Request.Form("Jmail")
String1 = Replace(String1, vbCrLF, "")

Nu mangler jeg bare at få skjult Texterea'en - kan du hjælpe med det?
Avatar billede eromaster Nybegynder
31. maj 2011 - 14:50 #5
textarea.hidden {
left: 0;
top: 0;
visibility: hidden;
}
Avatar billede keysersoze Guru
31. maj 2011 - 15:04 #6
så må vi ikke håbe at der er nogle der finder på at manipulere med indholdet i dit textarea....
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