Avatar billede yezbarh Nybegynder
07. februar 2006 - 18:24 Der er 1 kommentar og
2 løsninger

Når jeg modtager en e-mail skal den..

Hejsa.
Nu har jeg kæmpet mig igennem vb, og vil gerne hører hvordan man laver således, at når jeg modtager en e-mail på "kontakt at yezbarh dot dk" skal den lave en msgbox som udskriver "Du har modtaget post fra " - eksperten - "" fx.

Hvordan gøres det? - Kan man "connecte" til en e-mail?
Avatar billede thomaxz Nybegynder
07. februar 2006 - 19:21 #1
jo du kan sgantes få fat i en email, det lettest er hvis den understøøter po3 eller imap, du kan også webmail men det er en del svære.

løsning er f.esk at bruge pop3 protkollen hvis din email undersøtter det og så brug winsocket til at kontakt pop3 serveren.
Avatar billede yezbarh Nybegynder
07. februar 2006 - 19:45 #2
Ja - jeg har IMAP .
Kan du give eksempler, du skal regne med jeg er total dummie i den kategori!
Avatar billede thomaxz Nybegynder
07. februar 2006 - 22:52 #3
jo det kan jeg godt.


først skal du hvis kontrollen ikek allreder er der, skaffe winsocket, det gør du ved højreklikke på værktøjskassen og vælg adiidional componetnet og sæt et flueben du for microsoft winsocket control elelr det kan være det windows winsocket control kan ikke hetl huske.

jeg forudsætter ud navngiver den som ws1

[kode]
Public Mails as Integer

Dim Ok as Byte
Dim Timeout as Integer
ws1.connect example.com,143 'port 143 er standart for imap, men det kan ændres, dus
' du skal selvføgelig ændre exmaple.com til din udbyder imap addresse
ok=1

do
    doevents 'forsæt med andet arbejde
    timeout=timeout+1 'optæl variable timeout
    if timeout=10000 then 'hvis timeout er 10.000
      ok=20 'sæt ok til 20
    end if
while ws1.state<>7 OR ok<>20 'fortsæt til frobindels state=7 elelr ok er 20, en timeout
'det eraltid en god ide at lave en timeout, det kan også lave med en timer i stedet.


'ws1.dataarrival evente

Dim strData as string
ws1.getdatat strData

'så vidt jeg kan forstå på http://www.faqs.org/rfcs/rfc3501.html for du som i pop3 en velkomst kommando og du må først sende dat når du har fået den

if strData="* OK IMAP4rev1 Service Ready" then
  ws1.senddata "a001 login mrc secret" 'send login informationer
else if strData="a001 OK LOGIN completed" then 'hvis vi er logget ind
  ws1.senddata "a002 select inbox" 'vælg mailbox
else if mid$(strData,1,13)="* OK [UNSEEN" then 'hvis der usete
  mails=mid$(strData,14,2) ' skal nok tilpasse den kun finder ud hvilke antyal uset mail
  'melelm 0-99 der er den håntere ikk over 99.
else if strData="a002 OK [READ-WRITE] SELECT completed" then 'hvis selxte inbox forløb succesfuædt
  ws1.senddata "a003 FETCH" & mails & " (FLAGS BODY[HEADER.FIELDS (FROM)])"
  'går udfra du kun vil hente hvem det er fra, sådan har jeg forståe den line gør
else if mid$(strData,1,13)="A001 OK FETCH completed" then 'hvis du har fåt alle mail
  ws1.sendata "a004 logout" 'logud
elseiff mid$(strData,1,13)="a004 OK LOGOUT completed" then 'hvis der usete
  ws1.close 'luk forbindles
else
  ' det skulle så være her du mogtager from
  msgbox "Du har modtage mail fra :" & strData ' er ikke sikker på det vi lvirke
end if

[kode]

jeg er ikek helt siker på det er rigtig ,da jeg ikke rigitg har doet med imap før, men har rode med pop3.

det kan være noget jeg havde overset da jeg læste http://www.faqs.org/rfcs/rfc3501.html
hvis du sprøgsmål så stil løs, så vil jeg se om jeg akn svare på dem, elelr også er der måske andre der kan.

-Thomas
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