OVH Cloud OVH Cloud

envoi automatique de messages par une application

13 réponses
Avatar
Lastoul
Bonjour,

J'utilise une application qui publie automatiquement des=20
mails avec Outlook 2002.

Outlook r=E9agit avec un message d'avertissement de=20
s=E9curit=E9 :

" Un programme tente d'envoyer automatiquerment des=20
courriers en votre nom. L'autorisez vous =E0 poursuivre ?
Si cette action est inattendue, il se peut qu'il s'agisse=20
d'un virus : dans ce cas, choisissez Non. "

Comment contourner (ou d=E9seactiver) cet avertissement qui=20
emp=EAche les envois automatique via des programmes tiers ?

p.s. : Contrairement au cas expos=E9 dans la base de=20
connaissances, je n'ai aucun bidule "ICQ..." =E0 d=E9sactiver.

Merci d'avance pour vos r=E9ponses ;)

3 réponses

1 2
Avatar
eric.barbier
J'utilise redemption mais c'est vrai qu'au niveau portabilite c'est
pas top

Hier j'ai vu sur ce groupe la possibilite d'utiliser CDO et je suis
alle sur le site memoaccess

Par contre j'ai 2 petits soucis :

l'envoi a plusieurs destinataires
la sauvegarde dans le dossier envoyes

Y a t'il une solution ?

Merci
Avatar
Anor
Bonjour,

Eric Barbier wrote:
| J'utilise redemption mais c'est vrai qu'au niveau portabilite c'est
| pas top

tout comme n'importe quelle méthode qui a besoin de bibliothèques ou patches supplémentaires
pour fonctionner ;-))

| Hier j'ai vu sur ce groupe la possibilite d'utiliser CDO et je suis
| alle sur le site memoaccess
|
| Par contre j'ai 2 petits soucis :
|
| l'envoi a plusieurs destinataires

as tu essayé en séparant les adresses par un point-virgule ? :
;

| la sauvegarde dans le dossier envoyes
| Y a t'il une solution ?

peut-être mais celle qui ne titille pas la sécurité d'Outlook, je ne la connais pas (encore)
;-))

| Merci
a+
Arnaud
Avatar
Anor
Bonjour,

J'étais persuadé que MAPI déclenchait un message de sécurité outlook....
mais je suppose que c'est probablement seulement si on tente d'accéder au carnet d'adresses
ou à des dossiers d'outlook ....

Si outlook est défini comme logiciel de messagerie par défaut dans les options de IE,
finalement,
on peut jouer avec le code suivant :
(fonctionne avec Outlook 97, 98, 2000, 2002, 2003) :

Option Compare Database
Option Explicit

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

SendMail = MAPISendMail(0&, 0&, _
MAPI_Message, _
MAPI_Recip(), _
MAPI_File(), _
Dialogue.flags, 0)

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


Sub BIDON()
Call SendMail("sujet", "", "", "", "", "message MAPI", True)
End Sub

à+
--
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Site Perso : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
1 2