Det gör att lösa, men jag tror minsann du måste installera någon form av komponent på servern. En komponent som hjälper dig att lösa problemet är JMail. Mer information om denna komponent hittar du på www.dimac.net .
Mvh,
13 svar · 356 visningar · startad av janfang
Hej,
Kan man kolla om man fått mail från en ASP-sida?
Alltså anropa en POP-server för att kolla om man fått ngt mail. Går detta?
/ Jan.
Det gör att lösa, men jag tror minsann du måste installera någon form av komponent på servern. En komponent som hjälper dig att lösa problemet är JMail. Mer information om denna komponent hittar du på www.dimac.net .
Mvh,
Jag har Jmail på servern, ska kolla på din länk. Jag har letat efter Jmail:s hemsida, tackar!
Red. Har hittat funktionen, den heter Jmail.POP3: Det finns mer information på:
Jmails hemsida
[Redigerat av janfang den 07 jan 2002]
Har du kommit på hur du tar fram hur många olästa e-post det finns i inboxen?
Jag har tittat runt på sidan du anger ovan men hittar inget. Kanske är jag för trött... :) Men hur som helst skulle jag vara tacksam om någon kunde hjälpa mig.
-Bob
[Redigerat av Bob den 08 jan 2002]
Metoden: DownloadUnreadMessages()
borde funka att få tag på olästa meddelanden eftersom alla medellanden som tankas hem bockas av som lästa på servern
cya,
PatrikB
------------------
-=* IF there is a wrong way to do something, then someone will do it *=-
vad jag skulle vilja göra är endast en "förhandsgranskning" av olästa emila på servern.
om någon loggar in på vår "arbetsplats" så vill jag att det på startsidan som den ny-inloggade skickas till ska stå ungefär "Du har 8 st nya mail i din inbox".
Om personen inte väljer att kolla inboxen vid denna tidpunkt utan istället loggar ut så vill jag att det även nästa gång ska stå "Du har 8 st nya mail i din inbox". Men om jag redan har tankat ner alla UnReadMessages så blir det inte så? Eller?
hoppas ni förstår vad jag menar...
om du tankar ned alla meddelanden så blir de "av flaggade".
Undrar om inte DownloadHeaders() funkar som du vill.
Bara att testa ..... har inte gjort det själv. Återkom med testresultat
cya,
PatrikB
------------------
-=* IF there is a wrong way to do something, then someone will do it *=-
[Redigerat av PatrikB den 14 jan 2002]
Jag har skrivit ett eget ganska enkelt webbmail-gränssnitt till just denna komponent, jag återkommer med kod.
------------------
"-Man kan faktiskt supa nykter." -Mange P
Ok då kör vi.
<%
Dim myPath
myPath = Server.MapPath("\data\data.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("driver={Microsoft Access Driver (*.mdb)};dbq=" & myPath )
Set RecSet = Connect.Execute("SELECT * FROM mail_uppg WHERE namn = '" & session("username") & "' ")
if recset.eof then
response.redirect "/sys/sys_felmess.asp?mess=Du har inte något e-postkonto konfigurerat på servern eller så har du angivit felaktiga uppgifter under Din Profil."
response.end
end if
Set pop3 = Server.CreateObject("JMail.POP3")
pop3.Connect recset("user"), recset("passw"), recset("pop3server")
'Verifiera att ämne eller avsändare inte är tomma, isf ersätt med textsträng
function chkFieldNotEmpty(strSubj)
if strSubj = "" then
chkFieldNotEmpty = "(Inget)"
else
chkFieldNotEmpty = strSubj
end if
end function
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>inbox</title>
</head>
<body>
<table border="0" cellpadding="3" cellspacing="2" width="100%">
<tr><td>
<table border="0" align="left" width="100%">
<tr>
<td colspan="5">Inbox</td>
</tr>
<tr>
<td colspan="5"><font class="text">Du har <%=pop3.count%> nya meddelanden i din inbox.</font></td>
</tr>
<% If pop3.count > 0 then %>
<tr>
<td width="20" align="middle"><font class="mtop"> </font></td>
<td><font class="mtop">Från</font></td>
<td><font class="mtop">Ämne</font></td>
<td><font class="mtop">E-post</font></td>
<td><font class="mtop">Datum</font></td>
</tr>
<%
Do Until i = pop3.count
i = i + 1
Set msg = pop3.Messages.item(i)
%>
<tr>
<td width="20" align="middle"><font class="text"><a href="read_mjl.asp?id=<%=i%>"><img src="../gfx/mail.gif" border="0"></a></font></td>
<td><font class="text"><%=chkFieldNotEmpty(msg.FromName)%></font></td>
<td><font class="text"><a href="read_mjl.asp?id=<%=i%>"><%=chkFieldNotEmpty(msg.Subject)%></a></font></td>
<td><font class="text"><%=msg.From%></font></td>
<td><font class="text"><%=msg.Date%></font></td>
</tr>
<%
Loop
End If %>
<tr>
<td colspan="5"> </td>
</tr>
</table>
</body>
</html>
<%
pop3.Disconnect
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>
Denna kod förutsätter att du hämtar inloggningsnamn, lösenord och pop-server ur en databas, som görs på denna raden:
pop3.Connect recset("user"), recset("passw"), recset("pop3server")
Ersätt bara dessa tre bitar och inneslut user, psw och server i dubbelfnuttar ( " ).
Sen är det en länk på varje "subject" som går till en annan sida, som visar det aktuella mailet, denna sida kan du enkelt snickra ihop med hjälp av den lysande manualen som finns att ladda ner på tillverkarens hemsida.
Lycka till!
[redigering]Tilläggas kan även, att scriptet ovan inte hämtar ner mailen "permanent", utan lämnar dem på servern tills du hämtar dem med ett annat gränssnitt eller en mail-klient, t.ex. Outlook. Hur du flaggar av, raderar och fipplar vidare med mailen på servern står också i manualen.[/redigering]
------------------
"-Man kan faktiskt supa nykter." -Mange P
[Redigerat av OveRRidE den 14 jan 2002]
[Redigerat av OveRRidE den 15 jan 2002]
Exakt var hittar ni den utmärkta manualen? Hittar inte ens msg.From osv på de sidor ni angett.
Adressen i ovan inlägg var felaktig.
Rätt adress skall givetvis vara http://www.dimac.org eller http://www.dimac.net .
Håll till godo med manualen på sidan http://tech.dimac.net/pdf/w3jmail.pdf .
Jag ändrade ovan i mitt inlägg med.
------------------
"-Man kan faktiskt supa nykter." -Mange P
duktdogge lär bara säga att eftersom dimac är svenskt så finns faktiskt adressen www.dimac.se
------------------
Motto: Flest If-taggar vinner!
Jag har fortfarande inte lyckats visa antalet olästa meddelanden på servern.
För tillfället använder jag koden nedan. En temporär lösning som visar antalet meddelanden i inboxen och berättar för användaren när sista e-postet inkom och med vilket ärende.
<%
Set pop3 = Server.CreateObject( "JMail.POP3")
pop3.Connect "username", "password", "mail.domain.com"
Response.Write( "Du har <b>" & pop3.count & "</b> meddelanden i din inbox.<br>" )
if pop3.count > 0 then
pop3.DownloadSingleHeader pop3.count 'förhindrar att meddelandet flaggas som läst
Response.Write "Ditt senaste e-post inkom: <b>" & pop3.Messages.item(pop3.count).Date
Response.Write "</b><br>Med ärendet: <b>" & pop3.Messages.item(pop3.count).Subject
end if
pop3.Disconnect
%>
I mitt inlägg ovan har jag förklarat vad jag vill göra. Är det så svårt att få fram antalet olästa meddelanden? Eller har jag stirrat mig blind på deras manual, kanske svaret finns där framför ögonen på mig? :) Någon?
PatrikB, tack för ditt tips om "DownloadHeaders"! Du har rätt att meddelandena inte blir 'avflaggade' när detta används. Finns det någon info i headern som talar om ifall meddelandet är flaggat som läst/oläst?
Mvh,
Bob