|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Nov 2004
Città: lucca
Messaggi: 52
|
Invio Email Da Access Con Outlook Express E Salvataggio In Bozze
salve a tutti, dovrei inviare delle email (o a seconda dei casi salvarle in bozze)
il problema sta nell'utilizzo della dll mapi32.dll in particolar modo nel salvataggio nella cartella bozze, riesco a inviare le imail (accodandole in posta in uscita grazie al seguente codice (VBA): Codice:
Modulo: Option Compare Database Option Explicit Type MapiRecip Reserved As Long RecipClass As Long Name As String Address As String EIDSize As Long EntryID As String End Type Type MAPIFileTag Reserved As Long TagLength As Long Tag() As Byte EncodingLength As Long Encoding() As Byte End Type Type MapiFile Reserved As Long Flags As Long Position As Long PathName As String FileName As String FileType As MAPIFileTag End Type Type MAPIMessage Reserved As Long Subject As String NoteText As String MessageType As String DateReceived As String ConversationID As String Originator As Long Flags As Long RecipCount As Long Recipients As Long Files As Long FileCount As Long End Type Declare Function MAPISendMail _ Lib "c:\programmi\outlook express\msoe.dll" ( _ ByVal Session As Long, _ ByVal UIParam As Long, _ Message As MAPIMessage, _ ByVal Flags As Long, _ ByVal Reserved As Long) As Long Sub SendMailWithOE(ByVal strSubject As String, ByVal strMessage As String, ByRef aRecips As Variant) Dim Recips() As MapiRecip Dim Message As MAPIMessage Dim z As Long ReDim Recips(LBound(aRecips) To UBound(aRecips)) For z = LBound(aRecips) To UBound(aRecips) With Recips(z) .RecipClass = 1 If InStr(aRecips(z), "@") <> 0 Then .Address = StrConv(aRecips(z), vbFromUnicode) Else .Name = StrConv(aRecips(z), vbFromUnicode) End If End With Next z With Message .NoteText = strMessage .Subject = strSubject .RecipCount = UBound(Recips) - LBound(aRecips) + 1 .Recipients = VarPtr(Recips(LBound(Recips))) End With MAPISendMail 0, 0, Message, 0, 0 End Sub Richiamo Funzione: Private Sub Comando0_Click() Dim aRecips(0 To 0) As String aRecips(0) = "t...@syspac.com" SendMailWithOE "Send Mail Through OE", "Sure, you can, T*om!", aRecips End Sub la mapi save mail la dichiaro così: Codice:
Declare Function MAPISaveMail _ Lib "c:\programmi\outlook express\msoe.dll" ( _ ByVal Session&, _ ByVal UIParam&, _ Message As MAPIMessage, _ Recipient() As MapiRecip, _ File() As MapiFile, _ ByVal Flags&, _ ByVal Reserved&, _ MsgID$) As Long Codice:
MAPISaveMail 0, 0, Message, Recips(), 0, MAPI_NEW_SESSION, 0, vbNull ho anche trovato questa documentazione che forse non riesco a applicare nella maniera giusta: http://msdn.microsoft.com/library/de...56366724e4.asp se qualcuno può mi aiuti!! grazie sin da ora! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:06.