Pb sécurité outlook envoi mail auto vba
krystal_059
-
krystal_059 -
krystal_059 -
Bonjour,
j'ai créé une macro sous outlook 2003 qui envoie des mails.
A l'execution de la macro, j'ai un problème avec la sécurité d'Outlook. Deux messages d'avertissement s'affichent :
"Un programme essaie d'acéder aux adresses de messagerie enregistrées dans Outlook. L'autorisez-vous à poursuivre ?" et "Un programme tente d'envoyer automatiquement des courriers en votre nom. L'autorisez vous à poursuivre?".
J'aimerai ne pas devoir cliquer sur 'Yes' à chaque fois car il y a au minimum 50 mails à partir chaque semaine.
De plus, je ne peux pas télécharger le programme ClickYes puisque mon programme est à usage professionnel et doit pouvoir tourner sur plus de 400 postes.
Quelqu'un aurait-il une idée qui pourrait m'aider ?
merci de votre réponse
Voici le code :
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment
Public CorpsMail As String
Public Mail As String
Public Mail2 As String
Sub MailItNow()
Dim Test As Integer
Dim i As Integer
Dim Qui(300) As String
Dim Tache(300) As String
Dim Agence As String
Application.ScreenUpdating = False
Test = 0
Agence = Range("B1").Value
i = 1
For i = 1 To 300
If Range("K" & i).Value = "Retard" Then
Test = 1
Qui(i) = Range("D" & i).Value
Tache(i) = Range("A" & i).Value
If Test = 1 Then
If Range("M" & i).Value = Empty Then
Mail = "..."
CorpsMail = "Bonjour" & ", " & vbCrLf & vbCrLf & _
"message" & vbCrLf & vbCrLf & _
"Cordialement"
Call EnvoiMessage
Else
Mail = Range("M" & i).Value
Mail2 = Range("N" & i).Text
End If
MsgBox ("...")
CorpsMail = "Bonjour" & ", " & vbCrLf & vbCrLf & _
"message" & vbCrLf & vbCrLf & _
"Cordialement"
Call EnvoiMessage
End If
End If
Next i
If Test = 0 Then
MsgBox ("Il n'y a aucun retard !")
End If
End Sub
Sub EnvoiMessage(Optional Pieces_Jointes)
On Error Resume Next
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
.To = Mail
.CC = Mail2
.Subject = "retard"
.body = CorpsMail
.Importance = olImportanceNormal
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
Exit Sub
End If
Next
.Send
End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub
j'ai créé une macro sous outlook 2003 qui envoie des mails.
A l'execution de la macro, j'ai un problème avec la sécurité d'Outlook. Deux messages d'avertissement s'affichent :
"Un programme essaie d'acéder aux adresses de messagerie enregistrées dans Outlook. L'autorisez-vous à poursuivre ?" et "Un programme tente d'envoyer automatiquement des courriers en votre nom. L'autorisez vous à poursuivre?".
J'aimerai ne pas devoir cliquer sur 'Yes' à chaque fois car il y a au minimum 50 mails à partir chaque semaine.
De plus, je ne peux pas télécharger le programme ClickYes puisque mon programme est à usage professionnel et doit pouvoir tourner sur plus de 400 postes.
Quelqu'un aurait-il une idée qui pourrait m'aider ?
merci de votre réponse
Voici le code :
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment
Public CorpsMail As String
Public Mail As String
Public Mail2 As String
Sub MailItNow()
Dim Test As Integer
Dim i As Integer
Dim Qui(300) As String
Dim Tache(300) As String
Dim Agence As String
Application.ScreenUpdating = False
Test = 0
Agence = Range("B1").Value
i = 1
For i = 1 To 300
If Range("K" & i).Value = "Retard" Then
Test = 1
Qui(i) = Range("D" & i).Value
Tache(i) = Range("A" & i).Value
If Test = 1 Then
If Range("M" & i).Value = Empty Then
Mail = "..."
CorpsMail = "Bonjour" & ", " & vbCrLf & vbCrLf & _
"message" & vbCrLf & vbCrLf & _
"Cordialement"
Call EnvoiMessage
Else
Mail = Range("M" & i).Value
Mail2 = Range("N" & i).Text
End If
MsgBox ("...")
CorpsMail = "Bonjour" & ", " & vbCrLf & vbCrLf & _
"message" & vbCrLf & vbCrLf & _
"Cordialement"
Call EnvoiMessage
End If
End If
Next i
If Test = 0 Then
MsgBox ("Il n'y a aucun retard !")
End If
End Sub
Sub EnvoiMessage(Optional Pieces_Jointes)
On Error Resume Next
Set objOutlook = CreateObject("Outlook.Application")
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
.To = Mail
.CC = Mail2
.Subject = "retard"
.body = CorpsMail
.Importance = olImportanceNormal
For Each objOutlookRecip In .Recipients
objOutlookRecip.Resolve
If Not objOutlookRecip.Resolve Then
Exit Sub
End If
Next
.Send
End With
Set objOutlookMsg = Nothing
Set objOutlook = Nothing
End Sub
A voir également:
- Pb sécurité outlook envoi mail auto vba
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Mode securite - Guide
- Programmer envoi mail gmail - Guide
- Supprimer adresse mail outlook - Guide
- Windows live mail - Télécharger - Mail