|
Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Bonjour, Je souhaite envoyer des mails avec les fonctions de bases Windev néanmoins l'ouverture de ma session ne fonctionne pas. Cependant le passage de ce code en mode débugueur fonctionne correctement mais par la suite "EmailEnvoieMessage" ne reconnait plus le login de l'expéditeur et donc la session. Cela peut-il être dû au serveur local et au proxy ? Y a t'il une configuration spéciale à paramétrer ? Pourquoi cela passe t'il en mode débugueur et non en mode normal ?
EmailOuvreSession(Utilisateur.Login_Mail,Utilisateur.MDP_Mail,Utilisateur.Serv_Pop,Utilisateur.Serv_Smtp)
SI ErreurDétectée ALORS
Erreur("Impossible d'ouvrir la session.", ErreurInfo())
RETOUR
FIN
Quelques explications serait les bienvenues Merci d'avance
Contribution le : 08/06/2004 15:52
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
J'oubliais de vous présicez les paramètres passés: Login_Mail=SiteAbonne MDP_Mail=abonne Serv_Pop=pop.ifrance.fr Serv_smtp=smtp.ifrance.fr
Contribution le : 08/06/2004 15:57
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
J'ai testé avec ces paramètres: Serv_Pop=pop.ifrance.com Serv_smtp=smtp.ifrance.com
mais dans ce cas de figure l'application prend 100% du CPU et bloque l'ordi peut-être un début de solution
Contribution le : 08/06/2004 16:02
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Les derniers paramètres en .com sont corrects après vérification mais le programme bloque pendant 600 secondes et ne trouve finalement pas le serveur SMTP. J'ai essayé avec l'application "WD8 POP3" de reproduire un envoie et une réception de mail.La réception fonctionne correctement puisqu'elle utilise le POP mais l'envoi m'affiche exactement la même erreur que mon programme. Le problème à résoudre doit donc se situer au niveau de notre réseau local mais là je suis perdu... Quelqu'un a t'il des idées sur ce qui pourrait permettre la connexion au serveur SMTP ?
Contribution le : 08/06/2004 16:57
|
|
|
Re: Envoie de mails |
|
Inscrit: 18/12/2003 13:14
Post(s): 212
|
Bonjour
Quand j'ai ouvert mon Mail chez Yahoo, j'ai voulais récupérer le POP et le SMTP de Yahoo pour les Utiliser, il y avait une remarque sur la page qui dit que : POP Yahoo : pop.mail.yahoo.fr SMTP yahoo : smtp.mail.yahoo.fr
Si des problème d'envoie (SMTP) se présente, utiliser le SMTP de votre FAI internet pour mon cas : SMTP.mail.wissal.dz
Effectivement, je n'ai jamis pu envoyer un mail avec Smtp Yahoo, par contre si j'utilise le SMTP de mon FAI c'est OK.. Essayes avec OUTLOOK.
Contribution le : 08/06/2004 17:37
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Ne faut-il pas indiquer le helo du domaine ? Si oui comment paramétrez celui-ci afin de l'associer au SMTP ?
Contribution le : 09/06/2004 10:44
|
|
|
Re: Envoie de mails |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Dans la lutte contre les spams, l'envoi d'email par smtp a été interdit chez certains fournisseurs sauf si vous avez un accès FAI chez eux (Spécifié sur les contrats...)
NB : Sur certains serveurs de messagerie de type GroupWise, le protocole smtp nécessite un mot de passe. Il faut donc utiliser la connexion SMTP & POP3 juste pour envoyer.
Vous pouvez également utiliser le pilotage ole d'outlook ou le protocole d'envoi MAPI.
Tout celà dépend des contraintes techniques imposées.
Mickael
Contribution le : 09/06/2004 11:21
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Merci pour ces informations mickael
Apparemment la société utilise un serveur de messagerie de type GroupWise puisque, après avoir installé un serveur SMTP celui-ci n'arrive pas à redistribuer les messages ne trouvant plus la connexion avec le serveur destinataire. Il ne me reste qu'à créer un compte et faire les tests
Contribution le : 09/06/2004 11:30
|
|
|
Re: Envoie de mails |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Plusieurs de mes projets tournent avec envoi de mail à partir de compte GroupWise.
J'utilise une connexion SMTP/POP3, il faut juste passer l'adresse ip du serveur de messagerie smtp et pop3 et le tour est joué.
Mickael
Contribution le : 09/06/2004 12:32
|
|
|
Re: Envoie de mails |
|
Animateur WDF
Inscrit: 17/05/2004 14:21
Post(s): 382
|
Tu peux utiliser la fonction EmailMsgErreur(Email.Erreur) en cas d'erreurs.
Mickael
Contribution le : 09/06/2004 12:36
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
En effet le problème venait bien du réseau... l'envoie de mail pour la france ( Roger@NomSociete.fr) fonctionne mais je rencontre le même problème pour l'envoi de mails à l'étranger ( Esteban@NomSociete.es)... Je vais tenter passer de passer par microsoft exchange
Contribution le : 09/06/2004 13:38
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Le problème vient de la configuration smtp réseau. En effet l'envoi d'un mail sous MS Outlook avec un compte créé par pop et smtp ne permet pas d'envoyer de mail aux sites étrangers. Dsl de m'être trompé de forum et merci pour vos aides
Contribution le : 09/06/2004 15:32
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Après avoir fait une pause sur ce problème car je ne trouvais pas de solution à mon problème je me permet de vous demander si vous sauriez comment envoyer un mail sans utiliser de protocole SMTP ? Apparemment l'outlook de ma société est sur réseau et je n'arrive pas à récupérer les profils utilisateurs avec windev malgré la fonction EmailOuvreSession("").
Contribution le : 24/06/2004 14:14
|
|
|
Re: Envoie de mails |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Pourquoi ne pas passer par l'OLE Automation sur Outlook ? msdn sur le sujet.
Contribution le : 24/06/2004 16:38
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Pourquoi pas c'est vrai... Quelqu'un aurait t'il un exemple à me fournir pour ce genre de procédé afin d'envoyer et de recevoir automatiquement des messages avec fichiers joints ?
Contribution le : 25/06/2004 13:53
|
|
|
Re: Envoie de mails |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Pas anglophone l'ami GoZeub on dirait le troisième lien dans la page citée précédemment donne le code VB suivant. Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
Dim objOutlook As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem
Dim objOutlookRecip As Outlook.Recipient
Dim objOutlookAttach As Outlook.Attachment
' Create the Outlook session.
Set objOutlook = CreateObject("Outlook.Application")
' Create the message.
Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
With objOutlookMsg
' Add the To recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
objOutlookRecip.Type = olTo
' Add the CC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Michael Suyama")
objOutlookRecip.Type = olCC
' Add the BCC recipient(s) to the message.
Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
objOutlookRecip.Type = olBCC
' Set the Subject, Body, and Importance of the message.
.Subject = "This is an Automation test with Microsoft Outlook"
.Body = "This is the body of the message." &vbCrLf & vbCrLf
.Importance = olImportanceHigh 'High importance
' Add attachments to the message.
If Not IsMissing(AttachmentPath) Then
Set objOutlookAttach = .Attachments.Add(AttachmentPath)
End If
' Resolve each Recipient's name.
For Each ObjOutlookRecip In .Recipients
objOutlookRecip.Resolve
Next
' Should we display the message before sending?
If DisplayMsg Then
.Display
Else
.Save
.Send
End If
End With
Set objOutlook = Nothing
End Sub
Une recherche attentive sur fcdaw semble indiquer qu'outlook réagit mal à ce genre de procédé. En effet, il semble demander confirmation de l'envois d'un mail réalisé à partir d'une autre application. Et cela semble limiter la capacité d'envois à 1 toute les 10 secondes ! Autre lien en français dans le texte.
Contribution le : 25/06/2004 14:01
|
|
|
Re: Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Non pas anglophone c'est vrai... je préfère le bon pain et une bouteille de vin aux fish and chips... Enfin bref là c'est un code en VBA, il me faut donc Access obligatoirement en vue de faire une importation du code. Or je ne l'ai pas et il me faudra ensuite trouver la procédure pour lire les mails d'une session d'outlook...
Le plus simple serait surement que j'arrive à comprendre pourquoi la fonction EmailOuvreSession("") n'arrive pas à retrouver le profile outlook correspondant. Peut-être que je ne peux pas car ce profile se trouve sur le réseau et non en local... Cette histoire de mail résolue m'enlèverait une bonne épine du pied. Merci d'avance
Contribution le : 29/06/2004 10:09
|
|
|
[Résolu] Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Après avoir utilisé OLE Automation tout fonctionne même si l'affichage est un peu long. Voici mes codes pour ceux que ça interresse et ceux qui souhaitent y apporter des améliorations
//***********************************************************
// INITIALISATIONS
//***********************************************************
//Définition des variables
m_OutLook est un objet OLE dynamique // Objet "OutLook.Application"
m_NameSpace est un objet OLE dynamique // Objet NameSpace, "MAPI"
m_Folder est un objet OLE dynamique // Objet Folder, dossier OutLook
m_Item est un objet OLE dynamique // Objet Item
m_numItemCourant est un entier // N° de l'item en cours
sUtilisateur est une chaîne // Nom de l'utilisateur
nTypeItem est un entier // Type d'item manipulé : Calendrier, Note, Tâche, ...
sID est une chaîne // Identifiant automatique géré par OutLook
sSujet est une chaîne // Sujet
sContenu est une chaîne // Contenu du message
sDateReception est une chaîne // Date de réception
sHeureReception est une chaîne // Heure de réception
sExpediteur est une chaîne // Expéditeur
sDest est une chaîne // Destinataire
sDestCopie est une chaîne // Destinataire en copie
sDestCopieC est une chaîne // Destinataire en copie cachée
NbPiecesJointes est un entier
Tab_PiecesJointes est un tableau dynamique
QUAND EXCEPTION
Erreur(ExceptionInfo(errRésumé))
FinProgramme()
FIN
// Initialisation du dialogue avec OutLook
m_OutLook=ObjetActif("OutLook.Application")
SI m_OutLook=Null ALORS m_OutLook=allouer un objet OLE "OutLook.Application"
SI m_OutLook=Null ALORS
Erreur("L'accès à OutLook par OLE a échoué.","Vérifiez que la version complète d'OutLook (pas ""OutLook Express""), livrée avec le pack Office, est bien installée.")
FinProgramme()
FIN
m_NameSpace=m_OutLook>>GetNameSpace("MAPI")
SI m_NameSpace=Null ALORS
Erreur("Erreur lors de la connexion au ""NameSpace"" MAPI.")
FinProgramme()
FIN
sUtilisateur=m_NameSpace>>CurrentUser>>Name
// Se positionne sur le dossier OutLook demandé
m_Folder = m_NameSpace>>GetDefaultFolder(6)
//***********************************************************
// ENVOI DE MAIL
//***********************************************************
Rep_PiecesJointes est une chaîne
i,j sont des entiers=0
libérer Tab_PiecesJointes
// Crée l'item dans OutLook
m_Item = m_OutLook>>CreateItem(0)
// Sujet
m_Item>>Subject = sSujet
// Contenu
m_Item>>Body = sContenu
// Destinataires
m_Item>>To = sDest
m_Item>>cc = sDestCopie
m_Item>>bcc = sDestCopieC
// Pièces jointes
POUR i=1 A NbPiecesJointes
// Attachement du fichier au message dans OutLook
m_Item>>Attachments>>Add(Rep_PiecesJointes+"\"+Tab_PiecesJointes[i])
FIN
// Vérification des adresses des destinataires
SI PAS m_Item>>Recipients>>ResolveAll() ALORS
// Affichage d'OutLook pour résolution du pb
m_Item>>Display()
SINON
// Envoi
m_Item>>Send()
FIN
m_Item=Null
//***********************************************************
// RECEPTION DE MAIL
//***********************************************************
i,j sont des entiers
libérer Tab_PiecesJointes
// Chargement des données depuis OutLook
Tab_PiecesJointes= allouer un tableau de 0 par 0 chaînes
// Parcours des items et appel de la méthode d'affectation(propre au type d'élément lu)
POUR i=1 A m_Folder>>items>>count
m_Item = m_Folder>>Items>>Item(i)
// Identifiant automatique géré par OutLook
sID = m_Item>>EntryID
// Sujet
sSujet = m_Item>>Subject
// Contenu
sContenu = m_Item>>Body
Info(sSujet+TAB+sContenu)
// Récupération de la date et de l'heure
sDateHeure est un DateHeure
sDateHeure = m_Item>>ReceivedTime
sDateReception = sDateHeure..Date
SI PAS DateValide(sDateReception) ALORS sDateReception=""
// Heure de réception
sHeureReception=NumériqueVersChaine(sDateHeure..Heure,"02d")+NumériqueVersChaine(sDateHeure..Minute,"02d")
// Récupération des adresses eMails des destinataires pour réponse
objReply est un objet OLE dynamique = m_Item>>Reply
SI PAS objReply=Null ALORS
sExpediteur = objReply>>Recipients(1)>>Address
libérer objReply
FIN
// Destinataires (e-Mails) pour réponse à tous
objReplyAll est un objet OLE dynamique = m_Item>>ReplyAll
sDestCourant, sNomDest, sEMailDest sont des chaînes
sDestCourant = Remplace(m_Item>>to,"'","")
k est un entier
POUR k=1 A objReplyAll>>Recipients>>Count
sEMailDest=objReplyAll>>Recipients(k)>>Address
sNomDest=objReplyAll>>Recipients(k)>>Name
SI PAS sNomDest~=sUtilisateur ALORS // Ignore l'utilisateur en cours
SI PAS sEMailDest~=sDestCourant ALORS // Ignore l'eMail de l'utilisateur en cours
SI PAS sEMailDest~=sExpediteur ALORS // Ignore l'expéditeur
SI PAS sDest~="" ALORS sDest+="; "
sDest+=sEMailDest
FIN
FIN
FIN
FIN
libérer objReplyAll
// Copie / Copie cachée
sDestCopie = m_Item>>cc
sDestCopieC = m_Item>>bcc
// Pièces jointes
NbPiecesJointes = m_Item>>Attachments>>count
Dimension(Tab_PiecesJointes,m_Folder>>items>>count,NbPiecesJointes)
POUR j=1 A NbPiecesJointes
Tab_PiecesJointes[i,j] = m_Item>>Attachments(j)>>FileName
FIN
FIN
Merci à tous ceux qui m'ont aidé sur ce sujet !!!
Contribution le : 29/06/2004 16:52
|
|
|
Re: [Résolu] Envoie de mails |
|
Animateur WDF
Inscrit: 26/06/2002 16:24
De wdforge.org
Post(s): 2822
|
Formidable...
Peux-tu me confirmer que l'envoir de plusieurs mails consécutifs ne pose pas de problèmes... Genre une interruption pas Outlook qui dis que les mails sont générés par une autre application ?
Contribution le : 30/06/2004 11:00
|
|
|
Re: [Résolu] Envoie de mails |
|
DSI WDF
Inscrit: 05/05/2004 13:46
Post(s): 314
|
Dès le premier appel à Outlook par OLE,celui-ci prévient l'utilisateur qu'un programme externe tente d'accéder à Outlook. L'utilisateur doit alors choisir dans une combo le temps nécessaire à l'application compris entre 1 et 10 minutes dans une combo puis valider. Il est alors possible d'utiliser Outlook pendant cette période et d'envoyer autant de mails souhaités. Cependant il est à noter qu'une fenêtre s'ouvre lors de l'envoi demandant ENCORE à l'utilisateur de valider ou non l'envoi. Si vous savez évitez ces désagréments je suis tout ouï.
Contribution le : 01/07/2004 12:06
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|