cs_GigaCool
Messages postés43Date d'inscriptionmardi 10 avril 2007StatutMembreDernière intervention15 décembre 2008
-
16 mai 2007 à 11:32
nvoisn
Messages postés26Date d'inscriptionlundi 23 janvier 2012StatutMembreDernière intervention29 septembre 2014
-
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
A voir également:
Un programme tente d'envoyer un courrier en votre nom
Outlook un programme tente d'envoyer un courrier en votre nom - Meilleures réponses
Un programme essaie d'accéder aux informations d'adresse de courrier - Meilleures réponses
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 16 mai 2007 à 11:59
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.
nvoisn
Messages postés26Date d'inscriptionlundi 23 janvier 2012StatutMembreDernière intervention29 septembre 20147 11 avril 2012 à 11:56
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.
chapaleufu
Messages postés29Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention19 mai 2007 16 mai 2007 à 16:06
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.
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 16 mai 2007 à 16:21
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 !)
chapaleufu
Messages postés29Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention19 mai 2007 16 mai 2007 à 16:38
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
aniahnorev
Messages postés1Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention14 décembre 2009 14 déc. 2009 à 12:06
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
'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