Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Envoi mail par outlook, problème ???

10 réponses
Avatar
le_troll
Bonjour,

Alors j'y suis presque, pour envoyer un mail depuis une appli VB, mais
j'ai encore quelques problèmes avec Outlook, voici ce que j'ai recopié (qui
marche très bien):

Dim OutlookApp As New Outlook.Application
Dim NewMail As Outlook.MailItem
Set NewMail = OutlookApp.CreateItem(olMailItem)
NewMail.Recipients.Add ("L'ADRESSE")
NewMail.Subject = "LE_TITRE"
NewMail.Body = "MON_MESSAGE"
NewMail.Send

Mais le problème restant est de 2 ordres:
-1- Outlook me pose la question (voulez-vous envoyer, combien de temps)...
-2- Confirmer l'envoi...

Alors là, je fais comment pour que ces deux séquences soit automatique,
c'est la galère pour envoyer un mail automatiquement ???
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------

10 réponses

Avatar
ng
Salut,

AMHA l'idéal pour envoyer un email reste la solution via socket... Un
exemple est disponible sur la FAQ...
C'est une solution sûr car tout le monde n'a pas outlook et surtout tout le
monde n'utilise pas outlook (donc il n'est pas forcément configuré)...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

le_troll a écrit :

Bonjour,

Alors j'y suis presque, pour envoyer un mail depuis une appli VB,
mais j'ai encore quelques problèmes avec Outlook, voici ce que j'ai
recopié (qui marche très bien):

Dim OutlookApp As New Outlook.Application
Dim NewMail As Outlook.MailItem
Set NewMail = OutlookApp.CreateItem(olMailItem)
NewMail.Recipients.Add ("L'ADRESSE")
NewMail.Subject = "LE_TITRE"
NewMail.Body = "MON_MESSAGE"
NewMail.Send

Mais le problème restant est de 2 ordres:
-1- Outlook me pose la question (voulez-vous envoyer, combien de
temps)...
-2- Confirmer l'envoi...

Alors là, je fais comment pour que ces deux séquences soit
automatique, c'est la galère pour envoyer un mail automatiquement ???


Avatar
le_troll
Salut,

Mais t'as pas vu la taille du code, j'ai juste touché une fois à
WinSock, je ne maîtrise pas la chose, t'aurais pas un vieil exemple qui
marche, genre, plus qu'à entrer l'adresse, le titrre et le texte ?
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------


"ng" a écrit dans le message de news:

Salut,

AMHA l'idéal pour envoyer un email reste la solution via socket... Un
exemple est disponible sur la FAQ...
C'est une solution sûr car tout le monde n'a pas outlook et surtout tout


le
monde n'utilise pas outlook (donc il n'est pas forcément configuré)...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

le_troll a écrit :

> Bonjour,
>
> Alors j'y suis presque, pour envoyer un mail depuis une appli VB,
> mais j'ai encore quelques problèmes avec Outlook, voici ce que j'ai
> recopié (qui marche très bien):
>
> Dim OutlookApp As New Outlook.Application
> Dim NewMail As Outlook.MailItem
> Set NewMail = OutlookApp.CreateItem(olMailItem)
> NewMail.Recipients.Add ("L'ADRESSE")
> NewMail.Subject = "LE_TITRE"
> NewMail.Body = "MON_MESSAGE"
> NewMail.Send
>
> Mais le problème restant est de 2 ordres:
> -1- Outlook me pose la question (voulez-vous envoyer, combien de
> temps)...
> -2- Confirmer l'envoi...
>
> Alors là, je fais comment pour que ces deux séquences soit
> automatique, c'est la galère pour envoyer un mail automatiquement ???




Avatar
ng
Salut,

http://faq.vb.free.fr/index.php?question=2

C'est dur de faire plus simple ! Une fois le code collé, tu peux envoyer un
email ainsi :

Call SendMail("smtp.serveur.com", "",
"", "Petit test", "Hello !", "Jean Dubois", "John
Smith")

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

le_troll a écrit :

Salut,

Mais t'as pas vu la taille du code, j'ai juste touché une fois à
WinSock, je ne maîtrise pas la chose, t'aurais pas un vieil exemple
qui marche, genre, plus qu'à entrer l'adresse, le titrre et le texte ?

"ng" a écrit dans le message de news:

Salut,

AMHA l'idéal pour envoyer un email reste la solution via socket... Un
exemple est disponible sur la FAQ...
C'est une solution sûr car tout le monde n'a pas outlook et surtout
tout le monde n'utilise pas outlook (donc il n'est pas forcément
configuré)...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

le_troll a écrit :

Bonjour,

Alors j'y suis presque, pour envoyer un mail depuis une appli
VB, mais j'ai encore quelques problèmes avec Outlook, voici ce que
j'ai recopié (qui marche très bien):

Dim OutlookApp As New Outlook.Application
Dim NewMail As Outlook.MailItem
Set NewMail = OutlookApp.CreateItem(olMailItem)
NewMail.Recipients.Add ("L'ADRESSE")
NewMail.Subject = "LE_TITRE"
NewMail.Body = "MON_MESSAGE"
NewMail.Send

Mais le problème restant est de 2 ordres:
-1- Outlook me pose la question (voulez-vous envoyer, combien de
temps)...
-2- Confirmer l'envoi...

Alors là, je fais comment pour que ces deux séquences soit
automatique, c'est la galère pour envoyer un mail automatiquement
???






Avatar
François Picalausa
HELO !

"le_troll" a écrit dans le message de
news:%
j'ai juste touché une fois à
WinSock, je ne maîtrise pas la chose



Et bien, on peut t'expliquer l'exemple.
Tout commence par un protocol, ou comment "bien discuter" avec le serveur.
Ici, il s'agit du protocol SMTP.

Voyons dans l'exemple de la faq,
tout commence par un appel à la procédure SendMail
On commence par stoquer les informations passées en paramètre à la procédure
pour les réutiliser ailleurs.

Ensuite, on en vient à un
CurrentSMTPSessionState = SMTP_CONNECT
En effet, lors de ce type de dialogue, il est important de connaitre quel
est l'état actuel de la communication (ici, on garde en mémoire qu'on est
occupé de se connecter)
Et une fois qu'on connait l'état, on peut effectuer les opérations en
rapport:
Winsock1.Connect Trim$(SMTPServeur), 25
On informe winsock qu'il doit se connecter au serveur.

Une fois connecté au serveur, comme définit dans le protocol, le serveur
envoie un code d'erreur permettant de savoir si tout s'est bien passé (et
donc, qu'on peut continuer) ou si, par exemple, le serveur est en
maintenance.

Cette réceptiuon se traduit par Winsock1_DataArrival
Les permières lignes servent simplement à lire le code renvoyé par le
serveur

Quand ce code commence par 2 ou 3 lorsque tout se passe bien:
If Left(sServerResponse, 1) = "2" Or Left(sServerResponse, 1) = "3" Then

Si on sait que tout c'est bien passé, comme on est dans l'état de
connection, il faut effectuer les actions requises pour passer à l'état
suivant.
En l'occurence, il faut envoyer HELO au serveur en indiquant le nom de
l'ordinateur expéditeur.
Ce nom avait été stoqué tout au début.
sDataToSend = Right(lcSenderAddress, Len(lcSenderAddress) -
InStr(lcSenderAddress, "@"))

Enfin, on envoie HELO et le paramètre à l'aide de SendData.
Après HELO, on passe à un autre état et ainsi de suite, jusqu'a ce qu'on ai
finit, soit Winsock1.Close, pour fermer la connexion.
Y vois-tu déjà un peu plus clair?

t'aurais pas un vieil exemple
qui marche, genre, plus qu'à entrer l'adresse, le titrre et le texte ?


Si tu copie le code de la faq, c'est le cas.
La procédure SendMail permet ce que tu veux!

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
Avatar
Clive Lumb
Si toutefois tu veux toujours utiliser Outlook (comme moi par exemple où
j'ai dévelopé une appli pour le bureau qui met automatiquement une référence
chrono dans chaque mail et sauve les détails dans une BdD) il y a un dll qui
outrepasse les règles de sécurité d'Outlook.

Le dll s'appelle "Outlook Redemption" www.dimastr.com/redemption/

J'ai posté cette solution une dizaine de fois ici - sans jamais avoir eu de
retour, c'est à croire que personne n'a osé l'utiliser.
En plus il expose un tas de propriété/méthodes qui ne sont pas disponibles
dans le tlb standard.

Bon courage
Clive


"le_troll" a écrit dans le message de
news:
Bonjour,

Alors j'y suis presque, pour envoyer un mail depuis une appli VB, mais
j'ai encore quelques problèmes avec Outlook, voici ce que j'ai recopié


(qui
marche très bien):

Dim OutlookApp As New Outlook.Application
Dim NewMail As Outlook.MailItem
Set NewMail = OutlookApp.CreateItem(olMailItem)
NewMail.Recipients.Add ("L'ADRESSE")
NewMail.Subject = "LE_TITRE"
NewMail.Body = "MON_MESSAGE"
NewMail.Send

Mais le problème restant est de 2 ordres:
-1- Outlook me pose la question (voulez-vous envoyer, combien de temps)...
-2- Confirmer l'envoi...

Alors là, je fais comment pour que ces deux séquences soit


automatique,
c'est la galère pour envoyer un mail automatiquement ???
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------






Avatar
le_troll
Infernal, j'ai une erreur étrange, bien qu'ayant désactivé Norton:

Symantec email proxy
Votre e-mail n'a pas pu être envoyé parc que votre serveur de message l'a
refusé:
451 See http://pobox.xom/~djb/docs/smtplf.html
1003,11

Par ailleurs:
Si je fais:
Call SendMail("smtp.noos.fr", "", "", "Petit
test", "Hello !", "Jean Dubois", "John Smith")

Ça marche, mais si je fais:
Call SendMail("smtp.noos.fr", "", "Joe", "Essai")

Ça plante, pourquoi, que faut-il faire ?

GRrrrrrrrrrrrrrrrrrrrrr !!!
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------


"ng" a écrit dans le message de news:

Salut,

http://faq.vb.free.fr/index.php?question=2

C'est dur de faire plus simple ! Une fois le code collé, tu peux envoyer


un
email ainsi :

Call SendMail("smtp.serveur.com", "",
"", "Petit test", "Hello !", "Jean Dubois", "John
Smith")

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

le_troll a écrit :

> Salut,
>
> Mais t'as pas vu la taille du code, j'ai juste touché une fois à
> WinSock, je ne maîtrise pas la chose, t'aurais pas un vieil exemple
> qui marche, genre, plus qu'à entrer l'adresse, le titrre et le texte ?
>
> "ng" a écrit dans le message de news:
>
>> Salut,
>>
>> AMHA l'idéal pour envoyer un email reste la solution via socket... Un
>> exemple est disponible sur la FAQ...
>> C'est une solution sûr car tout le monde n'a pas outlook et surtout
>> tout le monde n'utilise pas outlook (donc il n'est pas forcément
>> configuré)...
>>
>> --
>> Nicolas G.
>> FAQ VB : http://faq.vb.free.fr
>> API Guide : http://www.allapi.net
>> Google Groups : http://groups.google.fr/
>> MZ-Tools : http://www.mztools.com/
>>
>> le_troll a écrit :
>>
>>> Bonjour,
>>>
>>> Alors j'y suis presque, pour envoyer un mail depuis une appli
>>> VB, mais j'ai encore quelques problèmes avec Outlook, voici ce que
>>> j'ai recopié (qui marche très bien):
>>>
>>> Dim OutlookApp As New Outlook.Application
>>> Dim NewMail As Outlook.MailItem
>>> Set NewMail = OutlookApp.CreateItem(olMailItem)
>>> NewMail.Recipients.Add ("L'ADRESSE")
>>> NewMail.Subject = "LE_TITRE"
>>> NewMail.Body = "MON_MESSAGE"
>>> NewMail.Send
>>>
>>> Mais le problème restant est de 2 ordres:
>>> -1- Outlook me pose la question (voulez-vous envoyer, combien de
>>> temps)...
>>> -2- Confirmer l'envoi...
>>>
>>> Alors là, je fais comment pour que ces deux séquences soit
>>> automatique, c'est la galère pour envoyer un mail automatiquement
>>> ???




Avatar
le_troll
As-tu un exemple pratique de code m'envoyer avec la dll ?
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------


"Clive Lumb" a écrit dans le message
de news: u#
Si toutefois tu veux toujours utiliser Outlook (comme moi par exemple où
j'ai dévelopé une appli pour le bureau qui met automatiquement une


référence
chrono dans chaque mail et sauve les détails dans une BdD) il y a un dll


qui
outrepasse les règles de sécurité d'Outlook.

Le dll s'appelle "Outlook Redemption" www.dimastr.com/redemption/

J'ai posté cette solution une dizaine de fois ici - sans jamais avoir eu


de
retour, c'est à croire que personne n'a osé l'utiliser.
En plus il expose un tas de propriété/méthodes qui ne sont pas disponibles
dans le tlb standard.

Bon courage
Clive


"le_troll" a écrit dans le message de
news:
> Bonjour,
>
> Alors j'y suis presque, pour envoyer un mail depuis une appli VB,


mais
> j'ai encore quelques problèmes avec Outlook, voici ce que j'ai recopié
(qui
> marche très bien):
>
> Dim OutlookApp As New Outlook.Application
> Dim NewMail As Outlook.MailItem
> Set NewMail = OutlookApp.CreateItem(olMailItem)
> NewMail.Recipients.Add ("L'ADRESSE")
> NewMail.Subject = "LE_TITRE"
> NewMail.Body = "MON_MESSAGE"
> NewMail.Send
>
> Mais le problème restant est de 2 ordres:
> -1- Outlook me pose la question (voulez-vous envoyer, combien de


temps)...
> -2- Confirmer l'envoi...
>
> Alors là, je fais comment pour que ces deux séquences soit
automatique,
> c'est la galère pour envoyer un mail automatiquement ???
> --
> Merci, @+, bye, Joe
> ng75 arobase noos point fr
> ------------------------------------------
> Avec une hache, celui qui tient le manche a toujours raison !
> ----------------------------------------------------------
>
>
>
>




Avatar
François Picalausa
Hello!

"le_troll" a écrit dans le message de
news:%
Par ailleurs:
Si je fais:
Call SendMail("smtp.noos.fr", "", "",
"Petit test", "Hello !", "Jean Dubois", "John Smith")

Ça marche, mais si je fais:
Call SendMail("smtp.noos.fr", "", "Joe", "Essai")

Ça plante, pourquoi, que faut-il faire ?



Simplement parce que Joe n'est pas une adresse valide!
de plus, le paramètre message n'est pas optionnel.
Donc, ce que tu peux faire, au minimum:
Call SendMail("smtp.noos.fr", "", "",
"Sujet", "Corps")
Si tu veux en plus spécifier Joe, ce sera en 6ème argument, comme nom
affiché pour l'exépéditeur:
Call SendMail("smtp.noos.fr", "", "",
"Sujet", "Corps", "Joe")

--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
Avatar
Clive Lumb
Il y a des exemples dans la doc dispo sur le site (en anglais je conçois,
mais au demeurant excellente).
Grosso-modo tu crées tes objets Outlook, puis tu les affecte à un objet
Redemption.
Malheureusement cela utilise le late binding donc l'intellisense ne marche
pas.

J'ai un appli complète au bureau si tu peux attendre mardi.

Clive


"le_troll" a écrit dans le message de
news:
As-tu un exemple pratique de code m'envoyer avec la dll ?
--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------


"Clive Lumb" a écrit dans le message
de news: u#
> Si toutefois tu veux toujours utiliser Outlook (comme moi par exemple où
> j'ai dévelopé une appli pour le bureau qui met automatiquement une
référence
> chrono dans chaque mail et sauve les détails dans une BdD) il y a un dll
qui
> outrepasse les règles de sécurité d'Outlook.
>
> Le dll s'appelle "Outlook Redemption" www.dimastr.com/redemption/
>
> J'ai posté cette solution une dizaine de fois ici - sans jamais avoir eu
de
> retour, c'est à croire que personne n'a osé l'utiliser.
> En plus il expose un tas de propriété/méthodes qui ne sont pas


disponibles
> dans le tlb standard.
>
> Bon courage
> Clive
>
>
> "le_troll" a écrit dans le message de
> news:
> > Bonjour,
> >
> > Alors j'y suis presque, pour envoyer un mail depuis une appli VB,
mais
> > j'ai encore quelques problèmes avec Outlook, voici ce que j'ai recopié
> (qui
> > marche très bien):
> >
> > Dim OutlookApp As New Outlook.Application
> > Dim NewMail As Outlook.MailItem
> > Set NewMail = OutlookApp.CreateItem(olMailItem)
> > NewMail.Recipients.Add ("L'ADRESSE")
> > NewMail.Subject = "LE_TITRE"
> > NewMail.Body = "MON_MESSAGE"
> > NewMail.Send
> >
> > Mais le problème restant est de 2 ordres:
> > -1- Outlook me pose la question (voulez-vous envoyer, combien de
temps)...
> > -2- Confirmer l'envoi...
> >
> > Alors là, je fais comment pour que ces deux séquences soit
> automatique,
> > c'est la galère pour envoyer un mail automatiquement ???
> > --
> > Merci, @+, bye, Joe
> > ng75 arobase noos point fr
> > ------------------------------------------
> > Avec une hache, celui qui tient le manche a toujours raison !
> > ----------------------------------------------------------
> >
> >
> >
> >
>
>




Avatar
le_troll
ok wait :o)

--
Merci, @+, bye, Joe
ng75 arobase noos point fr
------------------------------------------
Avec une hache, celui qui tient le manche a toujours raison !
----------------------------------------------------------


"Clive Lumb" a écrit dans le message
de news:
Il y a des exemples dans la doc dispo sur le site (en anglais je conçois,
mais au demeurant excellente).
Grosso-modo tu crées tes objets Outlook, puis tu les affecte à un objet
Redemption.
Malheureusement cela utilise le late binding donc l'intellisense ne marche
pas.

J'ai un appli complète au bureau si tu peux attendre mardi.

Clive


"le_troll" a écrit dans le message de
news:
> As-tu un exemple pratique de code m'envoyer avec la dll ?
> --
> Merci, @+, bye, Joe
> ng75 arobase noos point fr
> ------------------------------------------
> Avec une hache, celui qui tient le manche a toujours raison !
> ----------------------------------------------------------
>
>
> "Clive Lumb" a écrit dans le


message
> de news: u#
> > Si toutefois tu veux toujours utiliser Outlook (comme moi par exemple



> > j'ai dévelopé une appli pour le bureau qui met automatiquement une
> référence
> > chrono dans chaque mail et sauve les détails dans une BdD) il y a un


dll
> qui
> > outrepasse les règles de sécurité d'Outlook.
> >
> > Le dll s'appelle "Outlook Redemption" www.dimastr.com/redemption/
> >
> > J'ai posté cette solution une dizaine de fois ici - sans jamais avoir


eu
> de
> > retour, c'est à croire que personne n'a osé l'utiliser.
> > En plus il expose un tas de propriété/méthodes qui ne sont pas
disponibles
> > dans le tlb standard.
> >
> > Bon courage
> > Clive
> >
> >
> > "le_troll" a écrit dans le message de
> > news:
> > > Bonjour,
> > >
> > > Alors j'y suis presque, pour envoyer un mail depuis une appli


VB,
> mais
> > > j'ai encore quelques problèmes avec Outlook, voici ce que j'ai


recopié
> > (qui
> > > marche très bien):
> > >
> > > Dim OutlookApp As New Outlook.Application
> > > Dim NewMail As Outlook.MailItem
> > > Set NewMail = OutlookApp.CreateItem(olMailItem)
> > > NewMail.Recipients.Add ("L'ADRESSE")
> > > NewMail.Subject = "LE_TITRE"
> > > NewMail.Body = "MON_MESSAGE"
> > > NewMail.Send
> > >
> > > Mais le problème restant est de 2 ordres:
> > > -1- Outlook me pose la question (voulez-vous envoyer, combien de
> temps)...
> > > -2- Confirmer l'envoi...
> > >
> > > Alors là, je fais comment pour que ces deux séquences soit
> > automatique,
> > > c'est la galère pour envoyer un mail automatiquement ???
> > > --
> > > Merci, @+, bye, Joe
> > > ng75 arobase noos point fr
> > > ------------------------------------------
> > > Avec une hache, celui qui tient le manche a toujours raison !
> > > ----------------------------------------------------------
> > >
> > >
> > >
> > >
> >
> >
>
>