webForumDet fria alternativet

Kolla mail från ASP-sida

ASP

13 svar · 356 visningar · startad av janfang

Medlem sedan okt. 200058 inlägg
Frågan#1

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.

Medlem sedan juni 200032 967 inlägg
#2

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,

Medlem sedan okt. 200058 inlägg
#3

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]

Medlem sedan jan. 200216 inlägg
#4

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]

Medlem sedan mars 20002 836 inlägg
#5

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 *=-

Medlem sedan jan. 200216 inlägg
#6

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

Medlem sedan mars 20002 836 inlägg
#7

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]

Medlem sedan feb. 200112 078 inlägg
#8

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

Medlem sedan feb. 200112 078 inlägg
#9

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]

Medlem sedan jan. 200229 inlägg
#10

Exakt var hittar ni den utmärkta manualen? Hittar inte ens msg.From osv på de sidor ni angett.

Medlem sedan feb. 200112 078 inlägg
#11

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

Medlem sedan okt. 200058 inlägg
#12

Manualen finns också utan PDF-format här >>.

/ Jan.

Medlem sedan juni 20003 076 inlägg
#13

duktdogge lär bara säga att eftersom dimac är svenskt så finns faktiskt adressen www.dimac.se

------------------
Motto: Flest If-taggar vinner!

Medlem sedan jan. 200216 inlägg
#14

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

266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)