Avatar billede sorenmt84 Juniormester
08. oktober 2010 - 18:40 Der er 3 kommentarer og
1 løsning

Post en formular uden brugeren indblandes

Min mailserver giver mulighed for at man kan styre mailboxe, etc eksternt - via andre programmer eller fx en hjemmeside.

Sidst nævnte vil jeg gerne bruge, så jeg kan kontrollere maillister via min egen hjemmeside
Mailserver programmet hedder SmarterMailer (www.smartertools.com) version 7 (nyeste)

Vi er ude på et område hvor jeg ikke er så stærk, men firmaet bag, har selv lavet en række eksempler, bl.a. hvor man kan oprette en mailliste ved at udfylde en form, med de påkrævede informationer (brugernavn, adgangskode, maillistens navn etc)

<form action='http://localhost:9998/Services/svcMailListAdmin.asmx/AddList' method="POST">                     
                       
                          <table cellspacing="0" cellpadding="4" frame="box" bordercolor="#dcdcdc" rules="none" style="border-collapse: collapse;">
                          <tr>
    <td class="frmHeader" background="#dcdcdc" style="border-right: 2px solid white;">Parameter</td>
    <td class="frmHeader" background="#dcdcdc">Værdi</td>
</tr>

                       
                          <tr>
                            <td class="frmText" style="color: #000000; font-weight: normal;">AuthUserName:</td>
                            <td><input class="frmInput" type="text" size="50" name="AuthUserName"></td>
                          </tr>
                       
                          <tr>
                            <td class="frmText" style="color: #000000; font-weight: normal;">AuthPassword:</td>
                            <td><input class="frmInput" type="text" size="50" name="AuthPassword"></td>
                          </tr>
                       
                          <tr>
                            <td class="frmText" style="color: #000000; font-weight: normal;">DomainName:</td>
                            <td><input class="frmInput" type="text" size="50" name="DomainName"></td>
                          </tr>
                       
                          <tr>
                            <td class="frmText" style="color: #000000; font-weight: normal;">ListName:</td>
                            <td><input class="frmInput" type="text" size="50" name="ListName"></td>
                          </tr>
                       
                          <tr>
                            <td class="frmText" style="color: #000000; font-weight: normal;">Moderator:</td>
                            <td><input class="frmInput" type="text" size="50" name="Moderator"></td>
                          </tr>
                       
                          <tr>
                            <td class="frmText" style="color: #000000; font-weight: normal;">Description:</td>
                            <td><input class="frmInput" type="text" size="50" name="Description"></td>
                          </tr>
                       
                        <tr>
                          <td></td>
                          <td align="right"> <input type="submit" value="Aktiver" class="button"></td>
                        </tr>
                        </table>
                     

                    </form>

Overstående virker perfekt... nu er det bare sådan at jeg gerne vil have det til at fungere med mit nuværende administrationssystem, hvor hvis jeg fx vil oprette en mailliste, udfyldes en række felter og de oplysninger bliver smidt i en access database ala dette:

rs.addnew
rs("mailliste") = Request.form("mailliste")
rs.update
osv. osv.

jeg vil så her gerne sendt en kommande afsted til mailserveren om at maillisten også skal oprettes der, men uden at brugeren bliver blandet ind i det.. dvs. det script der skal oprette listen på mailserveren skal køres fx efter mit db script og derefter kan jeg lave en alm. response.redirect "oprettet.asp" og så er maillisten både oprettet i min database og på mailserven...

Håber nogle kan hjælpe
Avatar billede w13 Novice
09. oktober 2010 - 18:30 #1
I ASP.net kan det gøres vha. HTTPWebRequest: http://netomatix.com/HttpPostData.aspx
Her er et eksempel i klassisk ASP, hvor syntaksen godt nok er JScript og ikke VBScript, men det kan jo omskrives, eller du kan have det liggende som en anden fil, sådan som de beskriver det: http://stackoverflow.com/questions/933553/system-net-httpwebrequest-in-classic-asp

Den utekniske løsning er at have formen liggende med "display: none;" sat som CSS, og alle felternes values udfyldt med ASP, og så submitte den automatisk vha. JavaScript.

window.onload = function() {
  document.getElementById('form-id').submit();
}
Avatar billede sorenmt84 Juniormester
09. oktober 2010 - 23:12 #2
Super...
Via dine link, fandt jeg et link videre til Microsoft support, der lige havde den manglende kildekode med asp i vbscript liggende, lige til at høste :-)

jeg endte med følgende kilekode...

    DataToSend = "AuthUserName=xxx&AuthPassword=xxx&DomainName=xxx&ListName=xxx&Moderator=xxx&Description=xxx"
    dim xmlhttp
    set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
    xmlhttp.Open "POST","http://localhost:9998/services/svcMailListAdmin.asmx/AddList",false
    xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    xmlhttp.send DataToSend
    Response.ContentType = "text/xml"
    Response.Write xmlhttp.responsexml.xml
        Set xmlhttp = nothing

Smider du et svar
Avatar billede w13 Novice
10. oktober 2010 - 00:30 #3
Godt at høre! Kommer her! ;)
Avatar billede w13 Novice
10. oktober 2010 - 11:54 #4
- og tak for point! :)
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