Newsgroup: it.comp.lang.visual-basic
Titolo: Re: ?Cntrolli Mapi

 pochi che ho scaricato non funzionano.
Premesso che in rete gli esempi con MAPI sono tutt'altro che pochi,
ragionando in modo cosi' generico non si arriva da nessuna parte.
Prendine uno che faccia piu' o meno quello che ti serve, e cerca di capire
che cosa non vada. Se e' il caso pubblica il codice sul newsgroup, indicando
la/le istruzione/i che fallisce/ono con relativo codice e descrizione di
errore.
E' da un po' che posti sulle MAPI e ritengo inammissibile, a meno che
tu non scriva codice per passatempo, che il problema a tutt'oggi non sia
stato risolto.
--
ciao, hal
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Volevo sapere se i controlli Mapi funzionano con adsl.
Ho scaricato un esempio e ho cercato di farlo funzionare.
Mi visualizza i messaggi gia scaricati da OE, ma se tento una connessione
non funziona.
Forse lui cerca una connessione di accesso remoto, mentre adsl funziona con
una rete LAN.
Non ho mai fatto una cosa del genere, ho letto su google di usare winsock ma
i vari esempi scaricati non funzionano.
Carmelo


Si regolarmente...
Forse sbaglio qualcosa, ma non so cosa. Non ci sono esempi in giro e quei
pochi che ho scaricato non funzionano.
Carmelo

 Volevo sapere se i controlli Mapi funzionano con adsl.
Quando avevo provato io, avevo utilizzato una connessione adsl, quindi
direi che le cose sono compatibili.
Ma tu, con oe, riesci ad inviare la posta?
-- 
Salutoni
Sergio
Per rispondere... togli il group dall'indirizzo
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 pochi che ho scaricato non funzionano.
mah...
a suo tempo, MailOE, sul sito comune, di un autore che mi č caro, faceva
il suo sporco lavoro...


 ha scritto nel messaggio
news:ts2Qd.31690$QG6.5...@twister2.libero.it...

MMmmmm....!!! ci sono vagonate di codice MAPI nel Web.
Ti passo questo che provai qualche tempo fà in VBA, ma
non dovrebbe avere problemi nemmeno in VB, apporta le
dovute variazioni è codice dimostrativo.
Type MAPIMessage
   Reserved As Long
   Subject As String
   NoteText As String
   MessageType As String
   DateReceived As String
   ConversationID As String
   flags As Long
   RecipCount As Long
   FileCount As Long
End Type
Type MapiRecip
   Reserved As Long
   RecipClass As Long
   Name As String
   Address As String
   EIDSize As Long
   EntryID As String
End Type
Type MapiFile
   Reserved As Long
   flags As Long
   Position As Long
   PathName As String
   FileName As String
   FileType As String
End Type
Global Dialogue As MAPIMessage
Declare Function MAPISendMailOE _
                 Lib "C:\Program Files\Outlook Express\Msoe.dll" _
                 Alias "BMAPISendMail" _
                 (ByVal Session&, _
                  ByVal UIParam&, _
                  Message As MAPIMessage, _
                  Recipient() As MapiRecip, _
                  File() As MapiFile, _
                  ByVal flags&, _
                  ByVal Reserved&) As Long
Declare Function MAPISendMail _
                 Lib "MAPI32.DLL" _
                 Alias "BMAPISendMail" (ByVal Session&, _
                 ByVal UIParam&, _
                 Message As MAPIMessage, _
                 Recipient() As MapiRecip, _
                 File() As MapiFile, _
                 ByVal flags&, _
                 ByVal Reserved&) As Long
Global Const SUCCESS_SUCCESS = 0
Global Const MAPI_TO = 1
Global Const MAPI_CC = 2
Global Const MAPI_CCO = 3
Global Const MAPI_LOGON_UI = &H1
Global Const MAPI_DIALOG = &H8
Function SendMail(sSubject As String, _
                  sTo As String, _
                  sCC As String, _
                  sCCO As String, _
                  sAttach As String, _
                  sMessage As String, _
                  Optional sImmediateSend As Boolean = True) _
                  As Long
   Dim MAPI_Message As MAPIMessage
   Dim i As Integer
   Dim cTo As Integer
   Dim cCC As Integer
   Dim cCCO As Integer
   Dim cAttach As Integer
   cTo = CountWords(sTo, ";")
   cCC = CountWords(sCC, ";")
   cCCO = CountWords(sCCO, ";")
   cAttach = CountWords(sAttach, ";")
   ReDim rTo(0 To cTo) As String
   ReDim rCC(0 To cCC) As String
   ReDim rCCO(0 To cCCO) As String
   ReDim rAttach(0 To cAttach) As String
   ParseWords rTo(), sTo, ";"
   ParseWords rCC(), sCC, ";"
   ParseWords rCCO(), sCCO, ";"
   ParseWords rAttach(), sAttach, ";"
   ReDim MAPI_Recip(0 To cTo + cCC + cCCO - 1) As MapiRecip
   For i = 0 To cTo - 1
      MAPI_Recip(i).Name = rTo(i)
      MAPI_Recip(i).RecipClass = MAPI_TO
   Next i
   For i = 0 To cCC - 1
      MAPI_Recip(cTo + i).Name = rCC(i)
      MAPI_Recip(cTo + i).RecipClass = MAPI_CC
   Next i
   For i = 0 To cCCO - 1
      MAPI_Recip(cTo + cCC + i).Name = rCCO(i)
      MAPI_Recip(cTo + cCC + i).RecipClass = MAPI_CCO
   Next i
   ReDim MAPI_File(0 To cAttach) As MapiFile
   MAPI_Message.FileCount = cAttach
   For i = 0 To cAttach - 1
      MAPI_File(i).Position = -1
      MAPI_File(i).PathName = rAttach(i)
   Next i
   MAPI_Message.Subject = sSubject
   MAPI_Message.NoteText = sMessage
   MAPI_Message.RecipCount = cTo + cCC + cCCO
    If sImmediateSend = True Then
        Dialogue.flags = MAPI_LOGON_UI
    Else
        Dialogue.flags = MAPI_LOGON_UI + MAPI_DIALOG
    End If
  Select Case GetDefaultMailSoftware() 'Fonctions API disponibles ici
  Case "Outlook Express"
      SendMail = MAPISendMailOE(0&, 0&, _
                                MAPI_Message, _
                                MAPI_Recip(), _
                                MAPI_File(), _
                                Dialogue.flags, 0)
  Case "Microsoft Outlook", "Outlook"
      SendMail = MAPISendMail(0&, 0&, _
                                MAPI_Message, _
                                MAPI_Recip(), _
                                MAPI_File(), _
                                Dialogue.flags, 0)
  Case Else
      MsgBox "Votre client de messagerie n'est pas supporté"
  End Select
End Function
Function CountWords(ByVal sSource As String, _
                    ByVal sDelim As String) _
                    As Integer
Dim iDelimPos As Integer
Dim iCount As Integer
 If sSource = "" Then
    CountWords = 0
 Else
    iDelimPos = InStr(1, sSource, sDelim)
    Do Until iDelimPos = 0
        iCount = iCount + 1
        iDelimPos = InStr(iDelimPos + 1, sSource, sDelim)
    Loop
        CountWords = iCount + _
                     IIf(Right(sSource, 1) = sDelim, 0, 1)
 End If
End Function
Function GetWords(sSource As String, _
                  ByVal sDelim As String) _
                  As String
	Dim iDelimPos As Integer
	iDelimPos = InStr(1, sSource, sDelim)
    If (iDelimPos = 0) Then
        GetWords = Trim$(sSource)
        sSource = ""
    Else
        GetWords = Trim$(Left$(sSource, iDelimPos - 1))
        sSource = Mid$(sSource, iDelimPos + 1)
    End If
End Function
Sub ParseWords(mArray() As String, _
               ByVal sTokens As String, _
               ByVal sDelim As String)
	Dim i As Integer
	For i = LBound(mArray) To UBound(mArray)
    	mArray(i) = GetWords(sTokens, sDelim)
	Next i
End Sub
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------


Veramente è la prima volta!!!!!!!!!!!!!!!!
Come è la prima volta che ho a che fare con questi controlli.
Carmelo


Ho scaricato anche quello. Ma non si connette!!!!!!!!!!!!!
Carmelo

 Come è la prima volta che ho a che fare con questi controlli.
A maggior ragione ti conviene pubblicare il codice che non ti funziona,
altrimenti noi come facciamo a sapere come aiutarti?


 --
Premetto che ho copiato un po da tutti gli esempi che ho scaricato.
    MS.DownLoadMail = False
    MS.UserName = "
carme...@libero.it
"
    MS.Password = "0000000"
    oppure    MS.LogonUI = True 'Utilizza l'interfaccia utente di accesso
del sistema.  Ma non visualizza niente
    MS.SignOn
    MS.NewSession = True
    MM.SessionID = MS.SessionID
    MS.DownLoadMail = true
Carmelo