Avatar billede madeindk Nybegynder
09. juni 2006 - 00:31 Der er 27 kommentarer og
1 løsning

POP3 connector

Hej exp! Findes der et program der kan forbinde til en POP3 mail server - der er også er gratis at bruge eller er der muligvis nogen der har et script der ikke bruger komponent :-)
Avatar billede Slettet bruger
09. juni 2006 - 11:44 #1
Ja... Hvis det kun skal kunne hente mails og IKKE attachments så er der et godt og gratis bud her: http://dypso.free.fr/tech/asp_pop3_composant_mail_pieces_jointes.php

DypsoPOP er relativt stabilt, men går meget langsomt hvis der er mange store mails i inboxen...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 01:13 #2
Ok - tak Dan... Har fået det hentet - men den kan jo ikke læse mails vel?
Avatar billede Slettet bruger
11. juni 2006 - 01:23 #3
Jo, den kan godt læse mails - men ikke attachments!

- den kan godt se at der er attachments i en mail og den kan også fortælle hvad de hedder men den kan ikke tage et attachment ud af en mail. Resten skulle den kunne...


\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 01:25 #4
Ok - det går nok.

Men er ikke så skarp til fransk, så kan ikke lige klare at få den til at læse mailen - mon du kan hjælpe med det? :-)
Avatar billede madeindk Nybegynder
11. juni 2006 - 01:36 #5
Dan - læs her... Tror ikke vi kan læse indholdet af mailen

http://dypso.free.fr/forum/viewtopic.php?t=27
Avatar billede Slettet bruger
11. juni 2006 - 01:41 #6
Ja... men det betyder jo netop at du IKKE kan åbne en attachment i en mail! Med den gratis-version kan man kun se navn og størrelse på en vedhæftet fil, og dermed IKKE læse indholdet af en attachment.

Men du kan sagtens hente teksten som måtte være i en mail med denne komponent...

- sådan er livet, hvis det skal være gratis... desværre...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 01:44 #7
Er en attachment ikke en vedhæftet fil eller er det også selve indholdet af mailen?
Avatar billede Slettet bruger
11. juni 2006 - 02:21 #8
en attachment skal forståes som en del af indholdet i mailen. En vedhæftet fil er en stykke binært data som er skrevet i mailen...

- og når du for eksempel i Outlook Express ser at der er en fil der er vedhæftet i en mail du får så er det fordi Outlook Express kan læse dette og dermed vise dig dette... Men prøv evt. at kigge i kilden til en mail du får i Outlook Express som har en vedhæftet fil. Der vil du kunne se en blok med binær data i mailen som netop er den vedhæftede fil.

- Sådan er en mail delt op i flere sektioner for det meste. For eksempel med en HTML-sektion, en TXT-sektion og evt. en sektion for attachments...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:22 #9
Argh ok - men så er det ikke muligt at læse selve mailen med dette komponent? :-(
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:22 #10
Jeg er ligeglad med de vedhæftede filer.
Avatar billede Slettet bruger
11. juni 2006 - 02:24 #11
jo! Det er moligt at læse selve mailen med dette komponent! Men det er ikke muligt at hive de vedhæftede filer ud af en mail med dette komponent... Men ellers så kan dette komponent alt det andet behøves for at læse en mail...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:24 #12
Ok - ved du hvordan man hiver teksten ud?
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:25 #13
Avatar billede Slettet bruger
11. juni 2006 - 02:27 #14
ja! Se her: http://dypso.free.fr/tech/asp_pop3_composant_mail_pieces_jointes.php

du skal bruge:
msg.Content
- og -
msg.HTMLContent

til dette...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:28 #15
Ok - men tror du det er muligt at gøre sådan at i indbakken klikker man på mailen og så kommer man til en anden side hvor man så læser mailen?
Avatar billede Slettet bruger
11. juni 2006 - 02:31 #16
ja helt bestemt...

i indbakken laver du et link med en querystring til den side som skal vise mailen... Querystringen skal så indeholde pågældende mails id...

Den side som så skal vise mailen skal så også connecte til pop3-serveren og her skal du så bruge "getMail"-metoden...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:34 #17
Det er bare msg.messageId - så langt er jeg med :-)

Men kan ikke finde ud af hvordan den skal connecte til serveren og finde mailen frem?
Avatar billede Slettet bruger
11. juni 2006 - 02:40 #18
jamen det skal den gøre på en ny side... noget a la det her:
<%
set Mess = server.createObject("DypsoPop.Message")

Mess.Host = "pop3.free.fr"
Mess.Login ="dypso"
Mess.password = "mypassword"
Mess.DeleteOnReceive = false

if Mess.connect then
   
    set msg = Mess.getMail(cint(request.querystring("id")))
content = msg.HTMLContent
if content = "" then
content = msg.Content
end if
response.write content
else
    response.write "no message or connection not possible!"
end if
set Mess = Nothing

%>

- dette forudsætter så at din querystring hedder "id"...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:41 #19
Det vil den ikke rigtig.

Type mismatch: 'cint'
Avatar billede Slettet bruger
11. juni 2006 - 02:47 #20
- så prøv uden cint... sådan her:

<%
set Mess = server.createObject("DypsoPop.Message")

Mess.Host = "pop3.free.fr"
Mess.Login ="dypso"
Mess.password = "mypassword"
Mess.DeleteOnReceive = false

if Mess.connect then
   
    set msg = Mess.getMail(request.querystring("id"))
content = msg.HTMLContent
if content = "" then
content = msg.Content
end if
response.write content
else
    response.write "no message or connection not possible!"
end if
set Mess = Nothing

%>

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:50 #21
Det virker heller ikke.

Så siger den bare Type mismatch: 'Mess.getMail'
Avatar billede Slettet bruger
11. juni 2006 - 02:51 #22
hmm... ok!

- så kan jeg ikke svare på hvad der er galt lige nu... jeg vender tilbage i morgen...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 02:52 #23
Ok - tak for hjælpen indtil videre :-)

Men ID'et er da noget i stil med '<ab6f43f5cf813fd534f26c997fd5948e.r6299724q714426@eksperten.dk>' - ikk?
Avatar billede Slettet bruger
11. juni 2006 - 12:17 #24
Hej madeindk! Nu har jeg fået tingene til at virke med denne her DypsoPOP... Jeg vil også lige påpege at i det eksempel jeg har lavet til dig her, har jeg lavet det sådan at det er mere sikkert at det er den rigtige afsenderadresse der bliver vist og også det rigtige navn.

-------------------------
default.asp
-------------------------
<html>
<body topmargin="0" leftmargin="0">
<%
server.scripttimeout = 500
set Mess = server.createObject("DypsoPop.Message")

Mess.Host = "*****************"
Mess.Login ="*************************"
Mess.password = "*********************"
Mess.DeleteOnReceive = false

if Mess.connect then
%>
<table cellspacing="0" width="100%">
<%
    for i=0 to Mess.getNumberMessage
    set msg = Mess.getMail(cint(i))
H = lcase(msg.Header)
H = replace(H,"<","")
H = replace(H,">","")
H = replace(H,":","")
H = split(H,vbcrlf)
for a=0 to ubound(H)
Remail = trim(H(a))
if (left(Remail,8)="reply-to" AND len(Remail)>8) then
reply = trim(right(Remail,(len(Remail)-8)))
elseif left(Remail,11)="return-path" AND len(Remail)>11 then
reply = trim(right(Remail,(len(Remail)-11)))
elseif (left(Remail,4)="from" AND len(Remail)>4) then
Remail = replace(Remail,"from ","")
strRemail = split(Remail," ")
reply = strRemail(1)
end if
next
fromname = msg.from
fromname = replace(fromname,"_"," ")   
fromname = replace(fromname,"""","")
afromname = split(fromname,"=")
fromname = afromname(0)
bfromname = split(fromname,"<")
fromname = bfromname(0)
fromname = trim(fromname)
fromname = server.htmlencode(fromname)
dato = msg.Send_date
ugedag = lcase(left(dato,3))
if ugedag = "sun" then
ugedag = "søndag"
elseif ugedag = "mon" then
ugedag = "mandag"
elseif ugedag = "tue" then
ugedag = "tirsdag"
elseif ugedag = "wed" then
ugedag = "onsdag"
elseif ugedag = "thu" then
ugedag = "torsdag"
elseif ugedag = "fri" then
ugedag = "fredag"
elseif ugedag = "sat" then
ugedag = "lørdag"
else
ugedag = "ukendt ugedag"
end if
Gdag = split(dato,",")
dag = left(Gdag(1),3)
dag = trim(dag)
    if len(dag)=1 then
maaned = trim(Gdag(1))
maaned = mid(maaned,3,3)
aar = trim(Gdag(1))
aar = mid(aar,7,4)
    else
maaned = trim(Gdag(1))
maaned = mid(maaned,4,3)   
aar = trim(Gdag(1))
aar = mid(aar,8,4)   
    end if
klok = trim(Gdag(1))
strklok = split(klok,"+")
klok = strklok(0)
klok = trim(klok)
klok = right(klok,8)
maaned = lcase(maaned)
if maaned = "jan" then
maaned = "januar"
elseif maaned = "feb" then
maaned = "februar"
elseif maaned = "mar" then
maaned = "marts"
elseif maaned = "apr" then
maaned = "april"
elseif maaned = "may" then
maaned = "maj"
elseif maaned = "jun" then
maaned = "juni"
elseif maaned = "jul" then
maaned = "juli"
elseif maaned = "aug" then
maaned = "august"
elseif maaned = "sep" then
maaned = "september"
elseif maaned = "oct" then
maaned = "oktober"
elseif maaned = "nov" then
maaned = "november"
elseif maaned = "dec" then
maaned = "december"
end if
mailsize = formatnumber((msg.Size/1024),0,0)
%>
<tr>
<td style="border-top: 2px solid #000000;">Date:</td>
<td style="border-top: 2px solid #000000;">From:</td>
<td style="border-top: 2px solid #000000;">Subject:</td>
<td style="border-top: 2px solid #000000;">Size:</td>
</tr>
<tr>
<td onclick="document.location=('view.asp?id=<%=cint(i)%>');"><%=ugedag%> den <%=dag%>. <%=maaned & " " & aar%>, kl. <%=klok%></td>
<td onclick="document.location=('view.asp?id=<%=cint(i)%>');"><%=reply%><br><%=fromname%></td>
<td onclick="document.location=('view.asp?id=<%=cint(i)%>');"><%=msg.subject%></td>
<td onclick="document.location=('view.asp?id=<%=cint(i)%>');"><%=mailsize%> kiloBytes</td>
</tr>
<%
reply = ""
    next
%>
    </table>
<%
else
    response.write "no message or connection not possible!"
end if
set Mess = Nothing
%>
</body>
</html>


----------------------
view.asp
----------------------
<html>
<body topmargin="0" leftmargin="0">
<%
server.scripttimeout = 500
set Mess = server.createObject("DypsoPop.Message")

Mess.Host = "***********************"
Mess.Login ="***********************"
Mess.password = "*********************"
Mess.DeleteOnReceive = false

if Mess.connect then
%>
<table cellspacing="0" width="100%">
<%
    set msg = Mess.getMail(request.querystring("id"))
H = lcase(msg.Header)
H = replace(H,"<","")
H = replace(H,">","")
H = replace(H,":","")
H = split(H,vbcrlf)
for a=0 to ubound(H)
Remail = trim(H(a))
if (left(Remail,8)="reply-to" AND len(Remail)>8) then
reply = trim(right(Remail,(len(Remail)-8)))
elseif left(Remail,11)="return-path" AND len(Remail)>11 then
reply = trim(right(Remail,(len(Remail)-11)))
elseif (left(Remail,4)="from" AND len(Remail)>4) then
Remail = replace(Remail,"from ","")
strRemail = split(Remail," ")
reply = strRemail(1)
end if
next
fromname = msg.from
fromname = replace(fromname,"_"," ")   
fromname = replace(fromname,"""","")
afromname = split(fromname,"=")
fromname = afromname(0)
bfromname = split(fromname,"<")
fromname = bfromname(0)
fromname = trim(fromname)
fromname = server.htmlencode(fromname)
dato = msg.Send_date
ugedag = lcase(left(dato,3))
if ugedag = "sun" then
ugedag = "søndag"
elseif ugedag = "mon" then
ugedag = "mandag"
elseif ugedag = "tue" then
ugedag = "tirsdag"
elseif ugedag = "wed" then
ugedag = "onsdag"
elseif ugedag = "thu" then
ugedag = "torsdag"
elseif ugedag = "fri" then
ugedag = "fredag"
elseif ugedag = "sat" then
ugedag = "lørdag"
else
ugedag = "ukendt ugedag"
end if
Gdag = split(dato,",")
dag = left(Gdag(1),3)
dag = trim(dag)
    if len(dag)=1 then
maaned = trim(Gdag(1))
maaned = mid(maaned,3,3)
aar = trim(Gdag(1))
aar = mid(aar,7,4)
    else
maaned = trim(Gdag(1))
maaned = mid(maaned,4,3)   
aar = trim(Gdag(1))
aar = mid(aar,8,4)   
    end if
klok = trim(Gdag(1))
strklok = split(klok,"+")
klok = strklok(0)
klok = trim(klok)
klok = right(klok,8)
maaned = lcase(maaned)
if maaned = "jan" then
maaned = "januar"
elseif maaned = "feb" then
maaned = "februar"
elseif maaned = "mar" then
maaned = "marts"
elseif maaned = "apr" then
maaned = "april"
elseif maaned = "may" then
maaned = "maj"
elseif maaned = "jun" then
maaned = "juni"
elseif maaned = "jul" then
maaned = "juli"
elseif maaned = "aug" then
maaned = "august"
elseif maaned = "sep" then
maaned = "september"
elseif maaned = "oct" then
maaned = "oktober"
elseif maaned = "nov" then
maaned = "november"
elseif maaned = "dec" then
maaned = "december"
end if
mailsize = formatnumber((msg.Size/1024),0,0)
cont = trim(msg.HTMLContent)
if trim(cont) = "" then
cont = trim(server.htmlencode(msg.Content))
end if
%>
<tr>
<td colspan="4" width="100%">
<%=cont%>
</td>
</tr>

<tr>
<td style="border-top: 2px solid #000000;">Date:</td>
<td style="border-top: 2px solid #000000;">From:</td>
<td style="border-top: 2px solid #000000;">Subject:</td>
<td style="border-top: 2px solid #000000;">Size:</td>
</tr>
<tr>
<td><%=ugedag%> den <%=dag%>. <%=maaned & " " & aar%>, kl. <%=klok%></td>
<td><%=reply%><br><%=fromname%></td>
<td><%=msg.subject%></td>
<td><%=mailsize%> kiloBytes</td>
</tr>
</table>
<%
else
    response.write "no message or connection not possible!"
end if
set Mess = Nothing
%>
</body>
</html>


- håber du kan bruge det eksempel til noget...

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 14:14 #25
Dan - du er simpelthen en supermand! Det spiller jo 100% som det skal.

1000 tak for hjælpen.
Avatar billede Slettet bruger
11. juni 2006 - 14:19 #26
Det var godt at høre - og 1000 tak for point!

\Dan
Avatar billede madeindk Nybegynder
11. juni 2006 - 21:54 #27
Dan - hvis jeg opretter et nyt spørgsmål tror du så det er muligt for dig at lave et paging system til indbakken? :-)

Har siddet og leget lidt med noget, men det spiller ikke.
Avatar billede Slettet bruger
12. juni 2006 - 11:09 #28
Tjae... prøv du bare at oprette et spørgsmål mere så får du da et svar her i dag engang...

\Dan
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