mboost-dp1
Tilføje tekst fra email til hjemmeside
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hej, har brug for at overføre en tekst (en temperatur) til en hjemmeside, som opdateres en gang i timen.
Planen er der bliver sendt en mail med temperaturen til hjemmesiden en gang i timen, som så ændre et temperatur felt til værdien af mailen på hjemmesiden. Eksempel på indhold i mailen kunne "19.4"
Er dette muligt?
Hilsen Jan
Planen er der bliver sendt en mail med temperaturen til hjemmesiden en gang i timen, som så ændre et temperatur felt til værdien af mailen på hjemmesiden. Eksempel på indhold i mailen kunne "19.4"
Er dette muligt?
Hilsen Jan
Det kan lade sig gøre med de fleste sprog, så det afhænger af hvad du bruger på din hjemmeside - se f.eks:
.NET
PHP
Node.js
Ruby
Der er selvfølgelig en logik du skal tænke ind, såsom hvordan systemet skal afgøre om den pågældende mail er en der skal benyttes til at opdatere hjemmesiden (benyt fx defineret tekst i mailen systemet kan scanne efter, for at se om det er en værdi der skal benyttes, eller om det er noget andet (fx spam))
Derudover skal du tænke på sikkerhed. Da det er en mail der sendes er der ikke noget som udgangspunkt forhindrer en anden person at sende en mail til denne inbox - hvis du ikke tager højde for sådant kan ske, vil du i princippet åbne op for andre vil kunne opdatere din hjemmeside med skadelig kode, hvis du ikke sikrer dig i mod det.
Som udgangspunkt en simpel opgave, men da det drejer sig om at lade en klient (i dette tilfælde en uovervåget scanning af emails) opdatere en hjemmeside skal du altid sikre dig i mod uønsket adgang (og fejlhåndtering)...
Ovenstående er ikke en udtømmelig liste - der er en lang række faktorer du skal overveje, men til at komme i gang (og som svar på dit spørgsmål) skulle det være nok til at komme videre :-)
.NET
PHP
Node.js
Ruby
Der er selvfølgelig en logik du skal tænke ind, såsom hvordan systemet skal afgøre om den pågældende mail er en der skal benyttes til at opdatere hjemmesiden (benyt fx defineret tekst i mailen systemet kan scanne efter, for at se om det er en værdi der skal benyttes, eller om det er noget andet (fx spam))
Derudover skal du tænke på sikkerhed. Da det er en mail der sendes er der ikke noget som udgangspunkt forhindrer en anden person at sende en mail til denne inbox - hvis du ikke tager højde for sådant kan ske, vil du i princippet åbne op for andre vil kunne opdatere din hjemmeside med skadelig kode, hvis du ikke sikrer dig i mod det.
Som udgangspunkt en simpel opgave, men da det drejer sig om at lade en klient (i dette tilfælde en uovervåget scanning af emails) opdatere en hjemmeside skal du altid sikre dig i mod uønsket adgang (og fejlhåndtering)...
Ovenstående er ikke en udtømmelig liste - der er en lang række faktorer du skal overveje, men til at komme i gang (og som svar på dit spørgsmål) skulle det være nok til at komme videre :-)
Du skal næsten have et script til at køre via crontab (i linux, windows scheduler hvis du bruger windows), der regelmæssigt tjekker en indbakke.
Afhængig af strukturen i mailen kan du bruge DOM eller regex til at udtrække værdien med.
Du kan bruge stortset hvilket scriptsprog som du ønsker. Jeg vil dog anbefale dig at tage et du kender (Og som evt. har god POP3/IMAP support, hvilket nogengange godt kan være et rod at håndtere, da E-mails efter min mening er en gang slamkode indavl vi burde afskaffe, men det er en længere rant.)
Hvis du vælger at bruge PHP kan jeg evt. hjælpe dig lidt, jeg har desværre haft alt for mange opgaver hvor jeg skulle læse mails i PHP, så jeg har efterhånden fået opbygget mig en fin lille klasse til det.
Afhængig af strukturen i mailen kan du bruge DOM eller regex til at udtrække værdien med.
Du kan bruge stortset hvilket scriptsprog som du ønsker. Jeg vil dog anbefale dig at tage et du kender (Og som evt. har god POP3/IMAP support, hvilket nogengange godt kan være et rod at håndtere, da E-mails efter min mening er en gang slamkode indavl vi burde afskaffe, men det er en længere rant.)
Hvis du vælger at bruge PHP kan jeg evt. hjælpe dig lidt, jeg har desværre haft alt for mange opgaver hvor jeg skulle læse mails i PHP, så jeg har efterhånden fået opbygget mig en fin lille klasse til det.
Hvis man gerne vil have siden opdateret med det samme skal man ikke bruge crontab. Gennem et mail alias eller en .forward fil kan man pipe indholdet af indgående mails ind i en kommando. På den måde får man automatisk den pågældende kommando udført i samme øjeblik, der modtages en mail.E.T. (5) skrev:Du skal næsten have et script til at køre via crontab
Hvis mailserveren og webserveren er på hver sin computer er det åbenlyst nødvendigt at kommunikere over netværket. Men så kan mailserveren jo bare have et script, der laver en HTTP request til webserveren. (Jeg har set RT håndtere indgående mails med en HTTP request på den måde, selv når mailserver og webserver er på samme computer.)E.T. (7) skrev:Hvad hvis mail kontoen ligger på en anden server
Hvis webserveren ikke kører nogen mailserver, så kan man også bare sætte en mailserver op. Hvis man kun tillader indgående forbindelser på port 25 fra controllerens IP adresse og den altid sender de samme SMTP kommandoer, så kan man også bare køre et lille shell script fra xinetd på port 25.
#!/bin/bashDisclaimer: Ovenstående kode er grim.
echo 220 Hej
read
echo 250 OK
read
echo 250 OK
read
echo 250 OK
read
echo 354 OK
grep ^Subject > /var/www/en-fil
echo 250 OK
read
echo 221 Bye
Vil mene den bedste løsning er en pipe løsning, da denne opdaterer så snart du får mailen. Dog er dette også lidt større projekt, at opsætte end et simpelt " Cronjob ".
Vi har lavet linende, løsninger før som du måske kunne få en develope udgave af.
Hvis ikke du allerede har fundet en løsning altså :)
Vi har lavet linende, løsninger før som du måske kunne få en develope udgave af.
Hvis ikke du allerede har fundet en løsning altså :)
Samme spørgsmål: http://www.hardwareonline.dk/traad.aspx?tid=768348...
Hvis vi nu tænker lavpraktisk og ud af boksen, så tror jeg at det letteste vil være hvis du får sendt e-mail'en til lortemail.dk til f.eks. [email protected].
Så kan du bede dit website om at kalde denne URL http://lortemail.dk/?mode=temperatur&domain=lo... og så søge den tekst frem du gerne vil finde. Det vil være let hvis du kan få temperaturen til at stå i emnefeltet, da det kommer frem på siden siden, og let vil kunne identificeres i den HTML som du får retur.
Som sagt, lavpraktisk og lidt ud af boksen. Fordelen er at du slipper for at skulle håndtere indgående mails på din web-server.
Så kan du bede dit website om at kalde denne URL http://lortemail.dk/?mode=temperatur&domain=lo... og så søge den tekst frem du gerne vil finde. Det vil være let hvis du kan få temperaturen til at stå i emnefeltet, da det kommer frem på siden siden, og let vil kunne identificeres i den HTML som du får retur.
Som sagt, lavpraktisk og lidt ud af boksen. Fordelen er at du slipper for at skulle håndtere indgående mails på din web-server.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.