bonsoir,
j'abuse je sais mais c'est comme cela que je progresse.
j'ai fais une petite fonction pour l'envoi de mail
d'abord par CDO, si ne répond pas, tentative par MAPI
sur CDO aucun soucis mais MAPI me donne du fil à retordre à savoir:
le .Send False me donne malgré tout la boîte de dialogue me
signalant l'envoi du message????
Auriez-vous la gentillesse de jeter un oeil à ce code et me dire le
pourquoi, mauvaise implémentation?
merci d'avance
Pascal
**********************************************************************
Private Function GoMail(sFrom As String, sTo As String, sSujet As String, _
sText As String, Relais As String, _
Optional Signature As String, Optional
PieceJointe1 As String, _
Optional PieceJointe2 As String)
Dim rep As String
With CreateObject("CDO.Message")
.From = sFrom
.To = sTo
.Subject = sSujet
.TextBody = sText & vbNewLine & Signature
.AddAttachment PieceJointe1
.AddAttachment PieceJointe2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing")
= 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver")
= Relais
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport")
= 25
.Configuration.Fields.Update
On Error GoTo ErreurCdo
.Send
MsgBox "Message envoyé"
Exit Function 'l'envoi s'est bien passé on sort de la sub
ErreurCdo:
If Err Then
rep = MsgBox("Le message n'a pas pu être expédié" & vbCrLf & _
"Cliquez sur OK pour tenter un envoi MAPI" & vbCrLf & _
"l'expéditeur sera la première adresse valide de " &
vbCrLf & _
"votre messagerie", vbOKCancel + vbCritical, "Erreur
Relais SMTP")
If rep = vbCancel Then Exit Function
End If
'tentative d'envoi MAPI message
MAPISession1.SignOn
With MAPIMessages1
.AddressResolveUI = True 'verifie l'adresse de messagerie dans
la liste
.ResolveName 'des utilisateurs inscrit dans le
système de courrier électronique
.MsgIndex = -1 '
.RecipDisplayName = sTo 'l adresse du destinataire
.MsgSubject = sSujet 'le sujet
.MsgNoteText = sText 'le corps du message
.SessionID = MAPISession1.SessionID
If Len(PieceJointe1) > 0 Then .AttachmentPathName = PieceJointe1
On Error GoTo ErreurMapi
.Send False <<<--------ERREUR ICI (boite de dialogue
toujours présente)
MsgBox "Message envoyé"
End With
MAPISession1.SignOff
Exit Function
ErreurMapi:
If Err Then
rep = MsgBox("Le message n'a pas pu être expédié",
vbCritical, "Erreur Relais SMTP")
End If
Une solution serait donc de tester quel est le gestionnaire de courrier par défaut
tout a fait pertinent merci pour les compléments il y a effectivement plus de boulot que je ne pensais mais suis très heureux des précisions que toi et Jean Marc m'avez apporter, je sais ou et comment commencer
Bien à vous 2
Pascal
"Jacques93" a écrit dans le message de news: %
Jacques93 a écrit :
[...]
En complément de ce qui a déjà été dit, une méthode plus "générale" serait peut être utile, cela dépend de ton environnement. Je m'explique: la manip sur la clé 'Warn on Mapi Send', n'aurait, par exemple aucun effet chez moi. Mapi utilise le gestionnaire de courrier par défaut, et j'utilise Office Outlook ou Thunderbird, la clé en question ne concerne que OE et Windows Mail. (Outlook Office intercepte aussi les envois de courrier par d'autres programmes)
Une solution serait donc de tester quel est le gestionnaire de courrier par défaut pour voir s'il est pertinent de modifier cette clé. On peut le récupérer dans :
HKLMSOFTWAREClientsMail(par défault)
A titre d'exemple :
Messagerie Valeur par défaut ---------- ----------------- Office Outlook Microsoft Outlook OE Outlook Express TB Mozilla Thunderbird WM Windows Mail
(j'en ai pas d'autre sous la main ;-) ).
Certaines de ces valeurs sont spécifique à un O.S. d'autres pas. Et s'il est nécessaire de déterminer l'O.S. , ce qui peut être utile dans d'autres circonstances, il y a le composant Sysinfo.ocx et ses propriétés OSPlatform, OSVersion et OSBuild. Pour infos :
W2K SP4 XP SP2 VISTA (Ultimate) -------------------------------------------------------- OSPlatform 2 2 2 OSVersion 5 5.01 6 OSBuild 2195 2600 6000
Si on désire plus de détails (Home Pro, Server, etc ...), il y a les API's :
NB : il y a une petite erreur. Initialiser à ncontrols à 35 et non pas 34
-- Cordialement,
Jacques.
hello jacques,
Une solution serait donc de tester quel est le gestionnaire de courrier
par défaut
tout a fait pertinent
merci pour les compléments
il y a effectivement plus de boulot que je ne pensais mais suis très heureux
des précisions que toi et Jean Marc m'avez apporter, je sais ou et comment
commencer
Bien à vous 2
Pascal
"Jacques93" <jacques@Nospam> a écrit dans le message de news:
%23HQPHVwHIHA.1324@TK2MSFTNGP06.phx.gbl...
Jacques93 a écrit :
[...]
En complément de ce qui a déjà été dit, une méthode plus "générale" serait
peut être utile, cela dépend de ton environnement. Je m'explique:
la manip sur la clé 'Warn on Mapi Send', n'aurait, par exemple aucun effet
chez moi. Mapi utilise le gestionnaire de courrier par défaut, et
j'utilise Office Outlook ou Thunderbird, la clé en question ne concerne
que OE et Windows Mail. (Outlook Office intercepte aussi les envois de
courrier par d'autres programmes)
Une solution serait donc de tester quel est le gestionnaire de courrier
par défaut pour voir s'il est pertinent de modifier cette clé. On peut le
récupérer dans :
HKLMSOFTWAREClientsMail(par défault)
A titre d'exemple :
Messagerie Valeur par défaut
---------- -----------------
Office Outlook Microsoft Outlook
OE Outlook Express
TB Mozilla Thunderbird
WM Windows Mail
(j'en ai pas d'autre sous la main ;-) ).
Certaines de ces valeurs sont spécifique à un O.S. d'autres pas.
Et s'il est nécessaire de déterminer l'O.S. , ce qui peut être utile dans
d'autres circonstances, il y a le composant Sysinfo.ocx et ses propriétés
OSPlatform, OSVersion et OSBuild. Pour infos :
W2K SP4 XP SP2 VISTA (Ultimate)
--------------------------------------------------------
OSPlatform 2 2 2
OSVersion 5 5.01 6
OSBuild 2195 2600 6000
Si on désire plus de détails (Home Pro, Server, etc ...), il y a les API's
:
Une solution serait donc de tester quel est le gestionnaire de courrier par défaut
tout a fait pertinent merci pour les compléments il y a effectivement plus de boulot que je ne pensais mais suis très heureux des précisions que toi et Jean Marc m'avez apporter, je sais ou et comment commencer
Bien à vous 2
Pascal
"Jacques93" a écrit dans le message de news: %
Jacques93 a écrit :
[...]
En complément de ce qui a déjà été dit, une méthode plus "générale" serait peut être utile, cela dépend de ton environnement. Je m'explique: la manip sur la clé 'Warn on Mapi Send', n'aurait, par exemple aucun effet chez moi. Mapi utilise le gestionnaire de courrier par défaut, et j'utilise Office Outlook ou Thunderbird, la clé en question ne concerne que OE et Windows Mail. (Outlook Office intercepte aussi les envois de courrier par d'autres programmes)
Une solution serait donc de tester quel est le gestionnaire de courrier par défaut pour voir s'il est pertinent de modifier cette clé. On peut le récupérer dans :
HKLMSOFTWAREClientsMail(par défault)
A titre d'exemple :
Messagerie Valeur par défaut ---------- ----------------- Office Outlook Microsoft Outlook OE Outlook Express TB Mozilla Thunderbird WM Windows Mail
(j'en ai pas d'autre sous la main ;-) ).
Certaines de ces valeurs sont spécifique à un O.S. d'autres pas. Et s'il est nécessaire de déterminer l'O.S. , ce qui peut être utile dans d'autres circonstances, il y a le composant Sysinfo.ocx et ses propriétés OSPlatform, OSVersion et OSBuild. Pour infos :
W2K SP4 XP SP2 VISTA (Ultimate) -------------------------------------------------------- OSPlatform 2 2 2 OSVersion 5 5.01 6 OSBuild 2195 2600 6000
Si on désire plus de détails (Home Pro, Server, etc ...), il y a les API's :