Avatar billede and_ Nybegynder
06. maj 2001 - 23:28 Der er 35 kommentarer og
1 løsning

Hente alle meddelser fra en pop3 med JMail komponent

Hejsa :)

Jeg har siddet hele weekenden og forsgøt at lave et script JMail, så man kan hente alle meddelserne på forskellige pop3 konti (der er ca. 20 pop3 konti). Indtil videre har jeg ikke kunnet få det til at fungere...., Er der ikke en der er frisk på at hjælpe mig med dette problem......?
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:31 #1
DuSet mailserv = Server.CreateObject(\"JMail.POP3\")
mailserv.Connect \"mailboxname\", \"password\", \"server\"

mailserv.DownloadMessages

så er de hentet.
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:34 #2
<%
    Set mailserv = Server.CreateObject(\"JMail.POP3\")
    mailserv.Connect \"mailboxname\", \"password\", \"server\"

    mailserv.DownloadMessages
    mailserv.DownloadHeaders
    Set Messages = mailserv.Messages

    \' Vis alle mails
    For intEntry = 1 To Messages.Count - 1
        strFrom = Messages.Item(intEntry).From
        strSubject = Messages.Item(intEntry).Subject
        strDateTime = Messages.Item(intEntry).Date
        strFromName = Messages.Item(intEntry).FromName
        strMessageID = mailserv.GetMessageUID(intEntry)

    Next
%>
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:35 #3
Sådan gør du :-)
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:38 #4
Og hvis du vil gøre det for mange POP3 konti kan du gøre flg.

<%
    Set mailserv = Server.CreateObject(\"JMail.POP3\")
    arrAccounts = Array(\"postmaster@tdaugaard.dk\", \"andenkonto@somewhere.dk\")
    arrPwds = Array(\"xxxx\", \"xxxx\")
    arrServers = Array(\"mail.tdaugaard.dk\", \"mail.somewhere.dk\")

    For Index = 0 To UBound(arrAccounts)
        mailserv.Connect arrAccounts(Index), arrPwds(Index), arrServers(Index)

        mailserv.DownloadMessages
        mailserv.DownloadHeaders
        Set Messages = mailserv.Messages

        \' Vis alle mails
        For intEntry = 1 To Messages.Count - 1
            strFrom = Messages.Item(intEntry).From
            strSubject = Messages.Item(intEntry).Subject
            strDateTime = Messages.Item(intEntry).Date
            strFromName = Messages.Item(intEntry).FromName
            strMessageID = mailserv.GetMessageUID(intEntry)
        Next
    Next
%>
Avatar billede and_ Nybegynder
06. maj 2001 - 23:43 #5
genialt, prøver lige det første!
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:44 #6
oki :-)
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:44 #7
Jeg er selv i gang med et webmail system som virker fint med denne metode.
Avatar billede and_ Nybegynder
06. maj 2001 - 23:47 #8
jeg havde bare håbet der også ville følge HTML kodeer med, meeeeeennnnn, man kan jo ikke få det hele *s*
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:49 #9
*S* nopes :o)

Forresten, glemte lige en ting:

strBody = Messages.Item(intEntry).Body
If strBody = \"\" Then strBody = Messages.Item(intEntry).HTMLBody

sådan får du selve teksten i mailen.
Avatar billede and_ Nybegynder
06. maj 2001 - 23:54 #10
det skal vel stå under getmessageUID??????
Avatar billede tdaugaard Nybegynder
06. maj 2001 - 23:59 #11
Yeps :-)
Avatar billede and_ Nybegynder
07. maj 2001 - 00:02 #12
jeg kan ikke rigtig bryde koden - Hvordan får jeg indholdet vist - Den melder ikke fejl tilbage eller noget - kun en tom side - Hvad er den udløsende faktor?
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:05 #13
\"Hvad er den udløsende faktor?\" *G*
ja ser du .. der skal bruges et MEGET hemmeligt og svært trick... det hedder Response.Write *G*

Response.Write strFrom & \" - \" & strSubject & \"<br>\"

f.eks. (indsæt det lige før det første Next)
Avatar billede and_ Nybegynder
07. maj 2001 - 00:08 #14
totalt fejlkode -> handlingen blev afbrudt af brugeren.
Avatar billede and_ Nybegynder
07. maj 2001 - 00:09 #15
kan man ikke skrive designet i html og så bare <% bla bla %>  -> istedet for response.write????

Det tror jeg ville være nemmere
Avatar billede and_ Nybegynder
07. maj 2001 - 00:10 #16
strBody = Messages.Item(intEntry).Body
If strBody = \"\" Then strBody = Messages.Item(intEntry).HTMLBody

Du starten en IF -> men hvor lukkes den?  -> den skal da lukkes ikke?
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:12 #17
Jo, det kan du godt ..

Så skal du bruge:

<%=strFrom%>

f.eks.eller

<%=strFrom & \" - \" & strSubject%><br>
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:13 #18
Nej, nej .. der er to typer IF-sætninger.

Single line IF og Block IF.

If expression Then code: more code
If expression Then

.. code

End If
Avatar billede and_ Nybegynder
07. maj 2001 - 00:14 #19
heeeyyyyyyyy, den viste noget :-D

Du er sgu en gutterand - Du har sandelig fortjent dine point :)
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:16 #20
*S* det var så lidt :-) Og tak :-)
Avatar billede and_ Nybegynder
07. maj 2001 - 00:16 #21
hmmmmm, ser ikke ud til at jeg kan give dig point -> der er ingen avanceret knap!
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:18 #22
Ehm .. prøv \"Accepter\" .. hvad skal du bruge Avanceret til ? der er jo kun mig der har svaret ..
Avatar billede and_ Nybegynder
07. maj 2001 - 00:19 #23
hmmmmmmm, den viser kun den sidste mail der er dumpet ind!

Selvom der ligger 4 beskeder i mailboxen......
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:21 #24
Hmm .. hos mig viser den alle .. men du skal huske at hvis du samtidigt henter mail fra Outlook eller sådan noget så kan du ikke hente dem igen med mindre du har bedt dit mail program om IKKE at slette mails fra serveren.
Avatar billede and_ Nybegynder
07. maj 2001 - 00:22 #25
hvad bruger du for at vise alle beskeder i mailbokisen?
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:24 #26
Jeg bruger faktisk nøjagtigt det samme som skrevet her ..
Avatar billede and_ Nybegynder
07. maj 2001 - 00:26 #27
der er ikke mulighed for hvis du sletter \"diverse\" brugeroplysninger at jeg må se dit script?
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:28 #28
Ikke hele scriptet desværre da det er et system der senere skal sælges.
Men du kan se mit \"inbox\" script ..
Avatar billede and_ Nybegynder
07. maj 2001 - 00:30 #29
den er jeg helt frisk på :-)

ICQ 10284754
mail: a_ilenkop@hotmail.com

takker
Avatar billede brian Nybegynder
07. maj 2001 - 00:35 #30
>>tdaugaard - når nu du alligevel sidder og roder med JMail - kan man nøjes med at se sine mail uden at hente dem ???

pointene flyder i takt med svaret !
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:38 #31
naa .. gider ikke maile ;-)

<!--#include file=\"include/system.asp\" -->
<%
    On Error Resume Next

    If Session(\"mailbox\") = \"\" Then Response.Redirect \"default.asp\"
    intStartAt = Request(\"startat\"): If intStartAt = \"\" Or Not IsNumeric(intStartAt) Then intStartAt = 0 Else intStartAt = CLng(intStartAt)

    mailserv.DownloadHeaders
    Set Messages = mailserv.Messages

    If Messages.Count > 10 Then
        Select Case (intStartAt + 10 > Messages.Count)
            Case True:  strShowing = \" Showing \" & intStartAt & \" to \" & Messages.Count
            Case False: strShowing = \" Showing \" & intStartAt & \" to \" & (intStartAt + 10)
        End Select
    Else
        intStartAt = 0
    End If
%>
<html>
    <head>
        <title>WebMail v1.0</title>
        <style type=\"text/css\">
            body,table,td,select,input,submit    { font-family: verdana; font-size: 8pt; }
        </style>
    </head>
<body>
<center>
    <font size=\"5\"><b>WebMail v1.0</b></font>
    <table border=\"0\" width=\"750\">
        <tr><td>
            <hr>
            <!--#include file=\"include/menu.asp\" -->
            <hr>
<%
    Select Case ((Messages.Count - 1) > 0)
        Case True:  Response.Write \"You have <b>\" & Messages.Count - 1 & \"</b> messages in your inbox.\" & strShowing
        Case False: Response.Write \"You have no messages in your inbox.\"
    End Select
%>
            <p>
            <table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" bgcolor=\"#000000\" width=\"100%\">
                <tr>
                    <td bgcolor=\"#A6CAF0\" align=\"center\" width=\"18\"><b>#</b></td>
                    <td bgcolor=\"#A6CAF0\" align=\"center\" width=\"18\"><b>X</b></td>
                    <td bgcolor=\"#A6CAF0\" align=\"center\" width=\"18\"><img src=\"clip.gif\"></td>
                    <td bgcolor=\"#A6CAF0\" width=\"150\"><b>&nbsp;From</b></td>
                    <td bgcolor=\"#A6CAF0\"><b>&nbsp;Subject</b></td>
                    <td bgcolor=\"#A6CAF0\" width=\"145\"><b>&nbsp;Date/time</b></td>
                </tr>
<%
    For intEntry = ((Messages.Count - 1) - intStartAt) To (Messages.Count - intStartAt) - 10 Step -1
        strFrom = Messages.Item(intEntry).From
        If err <> 0 Then Exit For
        strSubject = Messages.Item(intEntry).Subject
        strDateTime = GetAtDateTime(Messages.Item(intEntry).Date)
        strFromName = Initial(Messages.Item(intEntry).FromName): If strFromName = \"\" Then strFromName = strFrom
        strMessageID = mailserv.GetMessageUID(intEntry)

        Set Attachments = Messages.Item(intEntry).Attachments
        If Attachments.Count > 0 Then strAtt = \"<img src=\'clip.gif\'>\" Else strAtt = \"\"
%>
                <tr>
                    <td bgcolor=\"#A6CAF0\" align=\"center\" width=\"18\"><%=Messages.Count - intEntry%></td>
                    <td bgcolor=\"#D3E4F8\" align=\"center\" width=\"18\"><input type=\"checkbox\" name=\"mail_<%=strMessageID%>\"></td>
                    <td bgcolor=\"#D3E4F8\" align=\"center\" width=\"18\"><%=strAtt%></td>
                    <td bgcolor=\"#D3E4F8\" width=\"150\">&nbsp;<a href=\"write.asp?to=<%=strFrom%>\"><%=strFromName%></a></td>
                    <td bgcolor=\"#D3E4F8\">&nbsp;<a href=\"read.asp?messageid=<%=strMessageID%>\"><%=strSubject%></a></td>
                    <td bgcolor=\"#D3E4F8\" width=\"145\">&nbsp;<%=strDateTime%></td>
                </tr>
<%
    Next
%>
            </table>
<%    If intStartAt + 10 < Messages.Count Then %>
            <a href=\"mailbox.asp?startat=<%=intStartAt + 10%>\">&gt;&gt;</a>
<%    End If %>
            <hr>
        </td></tr>
    </table>
</center>
</body>
</html>
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:40 #32
brian:> hvis du fjerner \"mailserv.DownloadMessages\" vil den ikke hente indholdet men kun headerne (vha. mailserv.DownloadHeaders) og du kan så få vist alt andet end Attachments samt .Body/.HTMLBody
Avatar billede and_ Nybegynder
07. maj 2001 - 00:50 #33
jeg takker for scriptet -> Nu skal jeg bare have et til at fungere ......
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:52 #34
det var så lidt :-)
Avatar billede and_ Nybegynder
07. maj 2001 - 00:54 #35
Sov godt når du kommer dertil
Avatar billede tdaugaard Nybegynder
07. maj 2001 - 00:56 #36
Tak :-) I lige måde :_)
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