Avatar billede Slettet bruger
04. august 2006 - 00:26 Der er 45 kommentarer og
1 løsning

modtager mail system

Hej

Jeg sider og koder lidt mail system hvor min indkom body ser sådan ud :

body = "#12345678"& vbCRLF
body = body & "#87654321"& vbCRLF
' Indsæt flere numre hvis nødvendigt
body = body &"En lille hilsen fra..."

Her kommer så mit problem som er at jeg skal have den til at se sådan ud.

12345678:En lille hilsen fra... og igen..
87654321:En lille hilsen fra...

Men jeg kan bare ikke få det møg til at virker..

Min kode

datastr = Split(msg.Body,vbCRLF)
For w = LBound(datastr) To UBound(datastr)
    if W < UBound(datastr) then
    Response.write datastr(w) & ":" & Mid(datastr(UBound(datastr)), 1, 160) & "<br>"
    end if
Next
Avatar billede thesurfer Nybegynder
04. august 2006 - 00:38 #1
Dvs, mailen ser sådan ud? (eksempel):

123
456
789
tekst der hører til 123
tekst der hører til 456
tekst der hører til 789
Avatar billede Slettet bruger
04. august 2006 - 01:10 #2
jeg sender via dette script. .

set msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true
msg.silent = true
msg.From = "svar-ikke@smsgw.dk"
msg.FromName = "SMS"
msg.AddRecipient "sms@smsgw.dk"
msg.Subject = "brugernavn:adgangskode"

body = "#20101010"& vbCRLF
body = body &"#20303030"& vbCRLF
' Indsæt flere numre hvis nødvendigt

body = body & "En lille hilsen fra..."

msg.body = body

if not msg.Send("smtp.wannafind.dk") then
    Response.Write "Mailen kunne ikke afsendes grundet:"
    Response.Write msg.log
end if


mening er at jeg skal have data sådan her..

20101010 > En lille hilsen fra...
20303030 > En lille hilsen fra...
Avatar billede thesurfer Nybegynder
04. august 2006 - 18:32 #3
Du har ikke svaret på 04/08-2006 00:38:39 :-)

Læs lige indlægget igen, og svar på spørgsmålet.. hvis du ikke forstår spørgsmålet, skal du lige sige til, så jeg kan omformulere det..
Avatar billede Slettet bruger
04. august 2006 - 18:57 #4
Til jeg forstår ikke hvad du mender..
Avatar billede Slettet bruger
04. august 2006 - 20:15 #5
#12345678 "#87654321 En lille hilsen fra...

Sådan ser mail ud. !!! hvis jeg har forsåde dig !!!
Avatar billede Slettet bruger
04. august 2006 - 20:16 #6
minus "
Avatar billede thesurfer Nybegynder
04. august 2006 - 20:38 #7
Eksempel:

set msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true
msg.silent = true
msg.From = "svar-ikke@smsgw.dk"
msg.FromName = "SMS"
msg.AddRecipient "sms@smsgw.dk"
msg.Subject = "brugernavn:adgangskode"

body = "#20101010"& vbCRLF
body = body &"#20303030"& vbCRLF
' Indsæt flere numre hvis nødvendigt

body = body & "En lille hilsen fra..."

dim arrBeskedDele, BeskedTekst, i
arrBeskedDele = split(body, vbCRLF)
BeskedTekst = arrBeskedDele(ubound(arrBeskedDele))

body = ""
for i = 0 to ubound(arrBeskedDele)
    if i <> ubound(arrBeskedDele) then
        arrBeskedDele(i) = replace(arrBeskedDele(i), "#", "")
        body = body & arrBeskedDele(i) & "> " & BeskedTekst & vbCRLF
    end if
next

msg.body = body

if not msg.Send("smtp.wannafind.dk") then
    Response.Write "Mailen kunne ikke afsendes grundet:"
    Response.Write msg.log
end if
Avatar billede thesurfer Nybegynder
04. august 2006 - 20:39 #8
Jeg går ud fra, at det er et SMS-system, der sender samme besked til flere modtager..?
Avatar billede thesurfer Nybegynder
04. august 2006 - 20:54 #9
Jeg smider lige et svar, da det er en mulig løsning.
Avatar billede Slettet bruger
04. august 2006 - 21:00 #10
Du har ret at det er til et sms system, jeg er ved at kode den del som skal kun modtage en mail og sende den ud via vores gateway.

så jeg kan ikke helt se mening i din kode.
Avatar billede thesurfer Nybegynder
04. august 2006 - 21:08 #11
Jeg går ud fra, at jeres gateway forventer et bestemt format..
Nemlig: nummer > besked

Min kode tager det du har der, og sætter det op på korrekt format.

Jeg går ud fra, at du bruger Request.Form til at aflæse mobilnumre og beskeden..
f.eks.
nummer1 = Request.Form("nummer1")
nummer2 = Request.Form("nummer2")
nummer3 = Request.Form("nummer3")
nummer4 = Request.Form("nummer4")

besked = Request.Form("besked")

osv..
Det er bare et eksempel, og er ikke et 100% præcist gæt.. :-)
Avatar billede Slettet bruger
04. august 2006 - 21:10 #12
Virker ikke den laver lort i den som før..

Hele min kode ser sådan ud.

if pop3.count > 0 then
    for m = 1 to pop3.count
        Set msg = pop3.Messages.item(m)
        if InStr(msg.Subject,":") > 0 then
            'Her deler vi vores data
            SubjectTxt = split(msg.Subject,":")
            strUser = SubjectTxt(0)
            strPass = SubjectTxt(1)
            Set GateRS = Conn.Execute("SELECT customer.*, gateway.* FROM customer, gateway where customer.CustomerID=gateway.CustomerID and gateway.GatewayStastus='Unlock' and customer.SysUsername='" & strUser & "' and gateway.Gatewaypass='" & strPass & "' and customer.SysStastus='Unlock'")
            if Not GateRS.Eof then
                set TotalEnhederRs = Conn.execute("SELECT SUM(Enheder) AS total FROM gatewayenhed where Gatewayid=" & int(GateRS("Gatewayid")) & "")
                if int(FormatNumber(TotalEnhederRs("Total"),0)-1) => 0 then
                    datastr = Split(msg.Body, vbCRLF)
                    BeskedTekst = datastr(ubound(datastr))

                    For w = LBound(datastr) To UBound(datastr)
                        if W < UBound(datastr) then
                            Response.write datastr(w) & ":" & Mid(BeskedTekst, 1, 160) & ":"
                        end if

                    next
                end if
                pop3.deletesinglemessage m
            else
                'Konto finde ikke og mail slettes.
                pop3.deletesinglemessage m
            end if
        end if
    next
else
    Response.write pop3.count
end if
pop3.Disconnect


Lige nu ønsker jeg bare at jeg få min data ud med telefon og besked, sådan at jeg kan senden min besked vider til min gateway.
Avatar billede thesurfer Nybegynder
04. august 2006 - 21:10 #13
Forresten:
Den kode du har der, er den del der *sender* mailen, og ikke den der vil "modtage en mail og sende den ud via vores gateway"..
Avatar billede Slettet bruger
04. august 2006 - 21:11 #14
Det ved jeg godt. jeg sage jeg efter lyser nåde modtager koder.
Avatar billede Slettet bruger
04. august 2006 - 21:12 #15
men den kode jeg har smit ud her er en der gå ind og læser min mail konto, og mening er den skal senden dem ud via gateway.
Avatar billede thesurfer Nybegynder
04. august 2006 - 21:27 #16
Oversigt:

Del_1: brugeren indtaster nummer og besked via en form som sendes til Del_2

Del_2: serveren modtager brugerens nummer og besked. Disse oplysninger sættes op på et bestem format (nemlig: "nummer > besked"), og sender dem til din mail konto, hvilket er Del_3

Del_3: et script (?) checker din konto, for at se om der er nye mails, med numre og beskeder som den skal sende ud

Er det korrekt?
Avatar billede Slettet bruger
04. august 2006 - 21:53 #17
ja. og det er del_3 jeg søger kode til. da den kode jeg har fucker op. i nåde den ikke skal. .
Avatar billede thesurfer Nybegynder
04. august 2006 - 22:17 #18
Hvordan ser mailen ud, når den kommer over til Del_3?
Avatar billede Slettet bruger
04. august 2006 - 22:27 #19
sådan
-- Mail´s body ---
#60629711
#60629711
En lille hilsen fra...
-- Slut ----
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:12 #20
Hmm.. så burde denne her kode jo virke, hvis det er "nummer > besked":

dim arrBeskedDele, BeskedTekst, i
arrBeskedDele = split(body, vbCRLF)
BeskedTekst = arrBeskedDele(ubound(arrBeskedDele))

body = ""
for i = 0 to ubound(arrBeskedDele)
    if i <> ubound(arrBeskedDele) then
        arrBeskedDele(i) = replace(arrBeskedDele(i), "#", "")
        body = body & arrBeskedDele(i) & "> " & BeskedTekst & vbCRLF
    end if
next

Hvis det ikke virker sådan, er det måske fordi du har angivet forkert format.. :-)
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:14 #21
angivet = opgivet.. dvs, det eksempel i 04/08-2006 01:10:31..

Men der er jo ":" i dit spørgsmål og i 04/08-2006 21:10:09

Hvilket format skal det være?
Avatar billede Slettet bruger
04. august 2006 - 23:22 #22
mening er at jeg skal have dem ud sådan at jeg kan senden data via

TLF BESKED
20101010 > En lille hilsen fra...
20303030 > En lille hilsen fra...

Så jeg kan senden hver line ud.
Avatar billede Slettet bruger
04. august 2006 - 23:31 #23
Når jeg bruger dit script
arrBeskedDele = split(body, vbCRLF)
BeskedTekst = arrBeskedDele(ubound(arrBeskedDele))

body = ""
for i = 0 to ubound(arrBeskedDele)
    if i <> ubound(arrBeskedDele) then
        arrBeskedDele(i) = replace(arrBeskedDele(i), "#", "")
        Response.write int(i+1) & ". " & arrBeskedDele(i) & " > " & BeskedTekst & vbCRLF
    end if
next

for sig selv virker det som det skal men når jeg så sætter det ind i mit script virker det ikke så får jeg en anden måde frem

1. > 2. 20101010 > 3. 20303030 > 4. En lille hilsen fra... > 5. > 6. >

men den skulle se sådan ud..

1. 20101010 > En lille hilsen fra... 2. 20303030 > En lille hilsen fra...
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:31 #24
Jeg tror altså at problemet ligger i Del_2 fra 04/08-2006 21:27:07.
Koden 04/08-2006 23:12:28 er den del, der sætter formatet op, før den sendes til Del_3, som er 04/08-2006 21:10:09.

1) Hvis du kigger på koden til Del_2, sættes formatet til "nummer > besked"
2) Hvis du kigger på koden til Del_3, checkes der om linien indeholder ":"

Checket i punkt 2 vil aldrig være sand, fordi formatet "nummer > besked" ikke indeholder ":"-
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:33 #25
Udtræk fra Del_3:

        if InStr(msg.Subject,":") > 0 then
            'Her deler vi vores data

            else
                'Konto finde ikke og mail slettes.
                pop3.deletesinglemessage m
            end if

Da ":" ikke indgår i "nummer > besked", vil den altid gå ned til "'Konto finde ikke og mail slettes."..
Avatar billede Slettet bruger
04. august 2006 - 23:34 #26
Grunde til det er brugernavn og koderord. og det virker som det skal.
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:37 #27
Ahhh... ja.. der står jo subject.. :-)

Jeg kigger lige videre..
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:48 #28
Prøv at erstatte linie

                            Response.write datastr(w) & ":" & Mid(BeskedTekst, 1, 160) & ":"

med denne linie:

                            Response.write datastr(w) & " > " & Mid(BeskedTekst, 1, 160) & vbCrLf
Avatar billede Slettet bruger
04. august 2006 - 23:57 #29
ja nu ved jeg ikke hvad der sker men nu er der opståde en fejl.
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:57 #30
De burde komme på hver deres linie.. hvis de ikke gør det, erstat "vbCrLf" med "<br>".
Avatar billede thesurfer Nybegynder
04. august 2006 - 23:58 #31
Kopier hele fejlmeddelelsen ind i dette spørgsmål.. der er ingen grund til at jeg skal sidde og prøve på at gætte, hvilken fejl du fik.. :-)
Avatar billede Slettet bruger
04. august 2006 - 23:59 #32
fandt fejl. nu kommer det til at se sådan ud > 60629711 > 60629711 > En lille hilsen fra... > > >
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:03 #33
Når jeg bruger "vbCrLf", får jeg HTML udskriften:
#60629711 > En lille hilsen fra... #60629711 > En lille hilsen fra...

Når jeg bruger "<br>", får jeg HTML udskriften:
#60629711 > En lille hilsen fra...
#60629711 > En lille hilsen fra...

Læs lige 04/08-2006 23:57:17 igen.. :-)
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:07 #34
Hvordan er det lige, at du ser om den viser det på 1 linie, eller flere linier?

Er det via en mail eller via en browser?
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:08 #35
Begge kan vise HTML layout.. hvis de gør det, skal du bruge "<br>" for at kunne se linieskift..

Men hvis det er scriptet, der skal arbejde med det, skal det være "vbCrLf"..

"<br>" er kun for at vi kan se, om det virker eller ej..
Avatar billede Slettet bruger
05. august 2006 - 00:13 #36
Ja jeg kan kun få det til at virker når jeg ikke bruger mit JMail.POP3 men bare fortæller den hvad string er.

nu har jeg lige prøve med dette script

if pop3.count > 0 then
    for m = 1 to pop3.count
        Set msg = pop3.Messages.item(m)
        arrBeskedDele = split(msg.Body, "<br>")
        BeskedTekst = arrBeskedDele(ubound(arrBeskedDele))

        Response.write BeskedTekst
    next
else
    Response.write "Ingen"
end if

mening var at den kun skulle give mig text men jeg får hele string. og retter jeg så  "<br>" til vbCRLF får jeg ingen ting.
Avatar billede Slettet bruger
05. august 2006 - 00:14 #37
har du skype eller nåde det her er ved at være en meget lang forum. !!!
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:17 #38
Prøv det her:

if pop3.count > 0 then
    for m = 1 to pop3.count
        Set msg = pop3.Messages.item(m)
        response.write msg.Body & "<hr>"
    next
else
    Response.write "Ingen"
end if

- Hvad får skriver den så?


Ang Skype eller noget:
Nej. Jeg foretrækker at løse eksperten-relatede spørgsmål på eksperten.dk .. :-)
Avatar billede Slettet bruger
05. august 2006 - 00:20 #39
så ser den sådan ud.

#60629711
#60629711
En lille hilsen fra...


<hr>
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:23 #40
Der har du problemet..
Der er 2 tomme linier efter teksten.. det er der det går galt..

Jeg tænkte faktisk på det her, men du overbeviste mig at det ikke var sådan, i 04/08-2006 22:27:18

Jeg laver lige en ekstra loop, der fjerner de tomme linier..
Avatar billede Slettet bruger
05. august 2006 - 00:25 #41
ok..
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:45 #42
Sådan:

' --------- fjerner tomme linier -------
dim tmpBody, i
tmpBody = split(body, vbCrLf)

body = ""

' fjern tomme linier:
for i = Lbound(tmpBody) to UBound(tmpBody)
    if len(tmpBody(i)) > 0 then body = body & tmpBody(i) & vbCrLf
next
body = left(body, len(body) - 2)

' --------- fjerner tomme linier -------


                    datastr = Split(body, vbCRLF)
                    BeskedTekst = datastr(ubound(datastr))

                    For w = LBound(datastr) To UBound(datastr)
                        if W < UBound(datastr) then
                            Response.write datastr(w) & " > " & Mid(BeskedTekst, 1, 160) & vbCrLf
                        end if

                    next


Igen skal du lige huske det med "<br>" og vbCrLf..
Avatar billede thesurfer Nybegynder
05. august 2006 - 00:47 #43
"body" skal lige erstattes af "msg.Body" her:

                    datastr = Split(body, vbCRLF)

Jeg har jo ikke mail-komponenten installeret, så jeg bruger bare nogle variabler..
Avatar billede Slettet bruger
05. august 2006 - 22:47 #44
Jubii det virker. !!! smide et svar du stor mester. !!!
Avatar billede thesurfer Nybegynder
06. august 2006 - 11:16 #45
OK :-)
Avatar billede thesurfer Nybegynder
06. august 2006 - 11:30 #46
Takker for points :-)
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