04. august 2006 - 00:26Der 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
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
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.. :-)
Synes godt om
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.
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?
Synes godt om
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. .
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.. :-)
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?
Synes godt om
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.
Synes godt om
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...
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 ":"-
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..
Synes godt om
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.
Synes godt om
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. !!!
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 .. :-)
' --------- 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)
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.