webForumDet fria alternativet

Maila på Win 98

.NET

4 svar · 239 visningar · startad av clarkbones

Medlem sedan feb. 20013 023 inlägg
Frågan#1

Hallå!

Jag har en applikation som skickar ett mail till mig när ett oväntat fel uppstår i programmet. Jag utnyttjar System.Web.Mail, men jag har förstått att det bara är en .Net-wrapper till CDOSYS. Nu är det ju så att detta inte fungerar särskilt bra på Win 98 (vilket en del klienter körs på) som saknar CDOSYS.

Nu undrar jag vad ni rekommenderar för mailkomponent.

Medlem sedan maj 20018 027 inlägg
#2

Om du är villig att ge dig på lite mer direkt tcp/ip-programmering, kan du använda Argosoft ( http://www.argosoft.com/mailserver/ ) i kombination med winsock-kontrollen (eller vilken annan ip-socket-komponent som helst). Gratisversionen av den mailservern bör vara fullt tillräcklig för att maila felmeddelanden med. Men du bör kolla upp hur smtp-protokollet fungerar. Sedan får du konfigurera din mailklient till att bevaka även den servern. För mig har den servern fungerat utmärkt.

Medlem sedan feb. 20013 023 inlägg
#3

Tja, det verkar intressant, men jag har tyvärr ont om tid just nu och vill gärna ha en väldigt enkel lösning. I alla fall tills vidare. Tack i a f.

Medlem sedan maj 20018 027 inlägg
#4

Jag kan illustrera hur det ser ut i vb6:

'Man kopplar upp sig mot mailservern någon annanstans
'Därefter måste man vänta på svar från mailservern mellan
'varje kontakt med den. Det är därför jag har det mesta av
'koden i en event-hanterare som är kopplad till
'ip-socketen. m_pResponseCounter är bara en globalt
'deklarerad räknare som jag använder för att hålla reda
'på vilket svar jag bör ha fått, och vad jag då ska svara
'med. Jag utgår från att jag kan strunta i eventuella
'felmeddelanden som kommer från mailservern,
'eftersom den har en mycket enkel uppgift.

Private Sub MySocket_DataArrival(ByVal bytesTotal As Long)
  Dim m_mottaget As String
  Dim m_message As String

  MySocket.GetData m_mottaget, "String"
  
  Select Case m_pResponseCounter
    Case 0
      MySocket.SendData ("MAIL FROM: " & strAvsandare & vbCrLf)
    Case 1
      MySocket.SendData ("RCPT TO: " & m_pMottagare & vbCrLf)
    Case 2
      MySocket.SendData ("DATA" & vbCrLf)
    Case 3
      m_message = "From: " & strAvsandare & vbCrLf
      m_message = m_message & "To: " & m_pMottagare & vbCrLf
      m_message = m_message & "Subject: " & "JobbId " & m_pJobbId & vbCrLf & vbCrLf
      'OBS! Avsluta med & "." & vbCrLf
      m_message = m_message & "Ditt jobb med id " & m_pJobbId & " är nu klart." & vbCrLf & "." & vbCrLf
      MySocket.SendData (m_message)
    Case 4
      MySocket.SendData ("QUIT" & vbCrLf)
    Case 5
      MySocket.Close
  End Select
  
  m_pResponseCounter = m_pResponseCounter + 1
End Sub

Som synes är det inte så otroligt komplicerat. Åtminstone inte så länge som man inte har tänkt sig någon mer omfattande funktionalitet eller felhantering.

Medlem sedan feb. 20013 023 inlägg
#5

OK, men jag skulle vilja ha en .NET-komponent, så den inte behöver registreras. Det enda jag behöver göra är att skicka enkla mail. Finns det ingen inbyggd mailkomponent i Win 98? Om det fanns skulle jag kunna skriva en .NET Wrapper till denna. Det vore det enklaste.

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)