Outlook Message : Un programme tente d'envoyer un message en votre nom .... Com [Résolu]

cs_GigaCool 43 Messages postés mardi 10 avril 2007Date d'inscription 15 décembre 2008 Dernière intervention - 16 mai 2007 à 11:32 - Dernière réponse : nvoisn 26 Messages postés lundi 23 janvier 2012Date d'inscription 29 septembre 2014 Dernière intervention
- 11 avril 2012 à 11:56
Bonjour a tous ,

Quand on envoi un message automatiquement par Outlook on une fenêtre qui affiche le message suivant : Un programme tente d'envoyer du courrier en votre nom ! l'autorisez vous à poursuivre ?

J'ai a cet effet trouvé sur la toile un logiciel appeler ClickYes qui  clique  Oui  ( à notre place ) à chaque fois que ce message apparaît!
Alors je me demande s'il ya pas un autre moyen de ne même pas faire apparaitre ce message ?
Genre un code qui permette de contourner ce message ?

Merci et bonne journée
Afficher la suite 

9 réponses

Répondre au sujet
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 16 mai 2007 à 11:59
+3
Utile
C'est effectivement impossible (déjà plusieurs posts sur ce forum en parlant). Tu n'as que deux options quand tu lances un message via Outlook en VBA :

- Soit ton code comporte un .send et dans ce cas, tu as obligatoirement ce message
- Soit à la place tu colles un .display Le message n'est plus envoyé automatiquement, à la place, il ets affiché sur le poste de l'utilisateur et il est obligé de faire Envoyer le mail, mais dans ce cas, bien sûr, plus de message.

Molenn
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Molenn
nvoisn 26 Messages postés lundi 23 janvier 2012Date d'inscription 29 septembre 2014 Dernière intervention - 11 avril 2012 à 11:56
+2
Utile
Bonjour à tous,

Ayant rencontré le problème puis trouvé la solution, je vous donne ma solution valable en tout cas pour Outlook 2010 :
Il suffit d'aller dans les options d'Outlook, puis dans "Centre de gestion de la confidentialité", dans les "Paramètres du centre....", enfin section "Accès par programme" et cocher l’option souhaité. Bien sur, "ne jamais m'avertir des activités douteuses" dans notre cas.

@+
Commenter la réponse de nvoisn
hadji26 1 Messages postés mardi 14 octobre 2003Date d'inscription 28 août 2008 Dernière intervention - 28 août 2008 à 17:08
+1
Utile
Moi j'suis preneur m'sieur!
Effectivement  ça me semble très intéressant. Merci pour le lien.
Commenter la réponse de hadji26
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 16 mai 2007 à 11:37
0
Utile
Salut,

Il me semble que l'on ne peut pas contourner cette sécurité...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
cs_GigaCool 43 Messages postés mardi 10 avril 2007Date d'inscription 15 décembre 2008 Dernière intervention - 16 mai 2007 à 14:44
0
Utile
Merci pour vos lumières et bonne journée!
Commenter la réponse de cs_GigaCool
chapaleufu 29 Messages postés samedi 28 décembre 2002Date d'inscription 19 mai 2007 Dernière intervention - 16 mai 2007 à 16:06
0
Utile
tsss tsss !! mais si c'est possible !!!


il existe au moins 3 possibilites pour s'affranchir des securites mises en place sur outlook:
 
la premiere est d'utiliser l'outlook redemption developpe par dimitry streblechenko (une des 2 super pointures sur outlook avec sue mosher),

la 2eme est de recourrir a l'utilitaire "yesclick" (gratuit) qui va dire oui a la place de l'utilisateur quand le message d'outlook apparait (un peu dangereux car il dit oui a n'importe quoi)

la 3eme est d'utilser l'outils "mapilab" (gratuit aussi) et plus elabore, il indique a l'utilisateur quel dll essaie d'acceder a outlook et il a la possibilite d'accepter, de toujorus accepter ou de refuser.

pour moi la solution la plus satisfaisante est l'ulitisation de outlook redemption mais il n'est pas gratuite.
Commenter la réponse de chapaleufu
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 16 mai 2007 à 16:21
0
Utile
Ce n'est donc pas possible via VBA et donc OutLook lui-même. CQFD

Personnellement, j'ai tenté tout ce que je pouvais sur un fichier à utilisation professionnelle, dans ma boîte : Et bien, puisque j'ai le droit de ne rien installer et de n'utiliser que des produits "officiels" dûement licenciés, j'affirme qu'avec MS OutLook 2003, c'est impossible. Et je ne vois aucun code VBA qui soit capable de passer outre.

Mais je ne demande pas mieux qu'on me prouve le contraire, avec de vraies instructions VBA (mieux même, ça m'arrangerait !)

Molenn 
Commenter la réponse de Molenn
chapaleufu 29 Messages postés samedi 28 décembre 2002Date d'inscription 19 mai 2007 Dernière intervention - 16 mai 2007 à 16:38
0
Utile
HA, homme de peu de foi !! la force n'est pas avec toi !

tu aurais quand meme pu jeter un groin a outlook redemption, tu aurais pu constate que c'est d'abord un produit officiel dumment licencie, et qu'ensuite ca utilise des objects manipulables sous VBA

je te donnne le lien quand meme : http://www.dimastr.com/redemption/

en consultant la mecque d'outlook, tu pourras voir que c'est une methode tres utilisee (http://www.outlookcode.com/)
Commenter la réponse de chapaleufu
aniahnorev 1 Messages postés samedi 29 janvier 2005Date d'inscription 14 décembre 2009 Dernière intervention - 14 déc. 2009 à 12:06
0
Utile
Essaye avec ce code que j'ai trouvé dans le net :


Premièrement :
- Ouvrir Outlook puis Outils/Macro/Visual Basic Editor
- Dans la palette Projet : double Cliquer sur Projet1/Microsoft Office Outlook/ThisOutlookSession
- Coller le code suivant :

Option Explicit

' Code: Send E-mail without Security Warnings
' OUTLOOK 2003 VBA CODE FOR 'ThisOutlookSession' MODULE
' (c) 2005 Wayne Phillips (http://www.everythingaccess.com)
' Written 07/05/2005
' Last updated v1.4 - 26/03/2008
'
' Please read the full tutorial here:
' http://www.everythingaccess.com/tutorials.asp?ID= Outlook-Send-E-mail-without-Security-Warning
'
' Please leave the copyright notices in place - Thank you.

Private Sub Application_Startup()

'IGNORE - This forces the VBA project to open and be accessible using automation
' at any point after startup

End Sub

' FnSendMailSafe
' --------------
' Simply sends an e-mail using Outlook/Simple MAPI.
' Calling this function by Automation will prevent the warnings
' 'A program is trying to send a mesage on your behalf...'
' Also features optional HTML message body and attachments by file path.
'
' The To/CC/BCC/Attachments function parameters can contain multiple items by seperating
' them by a semicolon. (e.g. for the strTo parameter, 'test@test.com; test2@test.com' is
' acceptable for sending to multiple recipients.
'
Public Function FnSendMailSafe(strTo As String, _
strCC As String, _
strBCC As String, _
strSubject As String, _
strMessageBody As String, _
Optional strAttachments As String) As Boolean

' (c) 2005 Wayne Phillips - Written 07/05/2005
' Last updated 26/03/2008 - Bugfix for empty recipient strings
' http://www.everythingaccess.com
'
' You are free to use this code within your application(s)
' as long as the copyright notice and this message remains intact.

On Error GoTo ErrorHandler:

Dim MAPISession As Outlook.NameSpace
Dim MAPIFolder As Outlook.MAPIFolder
Dim MAPIMailItem As Outlook.MailItem
Dim oRecipient As Outlook.Recipient

Dim TempArray() As String
Dim varArrayItem As Variant
Dim strEmailAddress As String
Dim strAttachmentPath As String

Dim blnSuccessful As Boolean

'Get the MAPI NameSpace object
Set MAPISession = Application.Session

If Not MAPISession Is Nothing Then

'Logon to the MAPI session
MAPISession.Logon , , True, False

'Create a pointer to the Outbox folder
Set MAPIFolder = MAPISession.GetDefaultFolder(olFolderOutbox)
If Not MAPIFolder Is Nothing Then

'Create a new mail item in the "Outbox" folder
Set MAPIMailItem = MAPIFolder.Items.Add(olMailItem)
If Not MAPIMailItem Is Nothing Then

With MAPIMailItem

'Create the recipients TO
TempArray = Split(strTo, ";")
For Each varArrayItem In TempArray

strEmailAddress = Trim(varArrayItem)
If Len(strEmailAddress) > 0 Then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type = olTo
Set oRecipient = Nothing
End If

Next varArrayItem

'Create the recipients CC
TempArray = Split(strCC, ";")
For Each varArrayItem In TempArray

strEmailAddress = Trim(varArrayItem)
If Len(strEmailAddress) > 0 Then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type = olCC
Set oRecipient = Nothing
End If

Next varArrayItem

'Create the recipients BCC
TempArray = Split(strBCC, ";")
For Each varArrayItem In TempArray

strEmailAddress = Trim(varArrayItem)
If Len(strEmailAddress) > 0 Then
Set oRecipient = .Recipients.Add(strEmailAddress)
oRecipient.Type = olBCC
Set oRecipient = Nothing
End If

Next varArrayItem

'Set the message SUBJECT
.Subject = strSubject

'Set the message BODY (HTML or plain text)
If StrComp(Left(strMessageBody, 6), "<HTML>", vbTextCompare) = 0 Then
.HTMLBody = strMessageBody
Else
.Body = strMessageBody
End If

'Add any specified attachments
TempArray = Split(strAttachments, ";")
For Each varArrayItem In TempArray

strAttachmentPath = Trim(varArrayItem)
If Len(strAttachmentPath) > 0 Then
.Attachments.Add strAttachmentPath
End If

Next varArrayItem

.Send 'No return value since the message will remain in the outbox if it fails to send

Set MAPIMailItem = Nothing

End With

End If

Set MAPIFolder = Nothing

End If

MAPISession.Logoff

End If

'If we got to here, then we shall assume everything went ok.
blnSuccessful = True

ExitRoutine:
Set MAPISession = Nothing
FnSendMailSafe = blnSuccessful

Exit Function

ErrorHandler:
MsgBox "An error has occured in the user defined Outlook VBA function FnSendMailSafe()" & vbCrLf & vbCrLf & _
"Error Number: " & CStr(Err.Number) & vbCrLf & _
"Error Description: " & Err.Description, vbApplicationModal + vbCritical
Resume ExitRoutine

End Function


- Et enrégistrer la modification
- Après copier le code ci-dessous dans votre application

Option Explicit

' ACCESS VBA MODULE: Send E-mail without Security Warning
' (c) 2005 Wayne Phillips (http://www.everythingaccess.com)
' Written 07/05/2005
' Last updated v1.3 - 11/11/2005
'
' Please read the full tutorial & code here:
' http://www.everythingaccess.com/tutorials.asp?ID=Outlook-Send-E-mail-without-Security-Warning
'
' Please leave the copyright notices in place - Thank you.

'This is a test function - replace the e-mail addresses with your own before executing!!
'(CC/BCC can be blank strings, attachments string is optional)

Sub FnTestSafeSendEmail()
Dim blnSuccessful As Boolean
Dim strHTML As String

strHTML = "<html>" & _
"" & _
"My HTML message text!" & _
"" & _
"</html>"
blnSuccessful = FnSafeSendEmail("myemailaddress@domain.com", _
"My Message Subject", _
strHTML)

'A more complex example...
'blnSuccessful = FnSafeSendEmail("myemailaddress@domain.com; secondrecipient@domain.com", _
"My Message Subject", _
strHTML, _
"C:\MyAttachmentFile1.txt; C:\MyAttachmentFile2.txt", _
"cc_recipient@domain.com", _
"bcc_recipient@domain.com")
If blnSuccessful Then

MsgBox "E-mail message sent successfully!"

Else

MsgBox "Failed to send e-mail!"

End If

End Sub


'This is the procedure that calls the exposed Outlook VBA function...
Public Function FnSafeSendEmail(strTo As String, _
strSubject As String, _
strMessageBody As String, _
Optional strAttachmentPaths As String = “”, _
Optional strCC As String = “”, _
Optional strBCC As String = “”) As Boolean

Dim objOutlook As Object ' Note: Must be late-binding.
Dim objNameSpace As Object
Dim objExplorer As Object
Dim blnSuccessful As Boolean
Dim blnNewInstance As Boolean

'Is an instance of Outlook already open that we can bind to?
On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
On Error GoTo 0

If objOutlook Is Nothing Then

'Outlook isn't already running - create a new instance...
Set objOutlook = CreateObject("Outlook.Application")
blnNewInstance = True
'We need to instantiate the Visual Basic environment... (messy)
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objExplorer = objOutlook.Explorers.Add(objNameSpace.Folders(1), 0)
objExplorer.CommandBars.FindControl(, 1695).Execute

objExplorer.Close

Set objNameSpace = Nothing
Set objExplorer = Nothing

End If

blnSuccessful = objOutlook.FnSendMailSafe(strTo, strCC, strBCC, _
strSubject, strMessageBody, _
strAttachmentPaths)

If blnNewInstance = True Then objOutlook.Quit
Set objOutlook = Nothing

FnSafeSendEmail = blnSuccessful

End Function

- Appeller la function FnSafeSendEmail avec les parameter pour envoyer un mail
- Finalement activer la macro dans outlook




Aniah Norev
Commenter la réponse de aniahnorev

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.