Envoie d'email avec VB
Résolu/Fermé
snoopy5.0
-
21 août 2004 à 10:19
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 - 18 avril 2013 à 14:39
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 - 18 avril 2013 à 14:39
A voir également:
- Envoie d'email avec VB
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Comment creer un compte email - Guide
- Email extractor 1.4 - Télécharger - Mail
- Email gratuit - Guide
34 réponses
Utilisateur anonyme
20 févr. 2008 à 17:04
20 févr. 2008 à 17:04
Bonjour,
Exemple type sous VB6 :
Cet exemple utilise Outlook Express même si celui-ci n'est pas congiguré.
La configuration est effectué dans le code !
Les valeurs suivantes doivent être remplacer par des valeurs valides.
[ smtp.serveur.net ]
[ monadresse@monserveur.net ]
[ destinataire@serveur.net ]
Lupin
Exemple type sous VB6 :
Cet exemple utilise Outlook Express même si celui-ci n'est pas congiguré.
La configuration est effectué dans le code !
Les valeurs suivantes doivent être remplacer par des valeurs valides.
[ smtp.serveur.net ]
[ monadresse@monserveur.net ]
[ destinataire@serveur.net ]
Option Explicit ' 'Déclaration de constantes Const PourLecture = 1 Const cteAdresseSource = "monadresse@monserveur.net" Private Sub cmd_Click(Index As Integer) If (Index > 0) Then ' Déclaration de variables Dim objMail As Object Dim sDestination As String Dim sPieceJointe As String Dim msgTitre As String Dim msgTexte As String Dim Drapeau As Boolean Set objMail = CreateObject("CDO.Message") Drapeau = False sDestination = "destinataire@serveur.net" msgTitre = "Automatisme" msgTexte = "Bonjour," & vbLf & "Corps du message" sPieceJointe = "D:\Monfichier.txt" Drapeau = True With objMail ' Ligne à modifier selon l'adresse de l'envoyeur .From = cteAdresseSource .To = sDestination .Subject = msgTitre ' Ligne à modifier selon le texte voulu ! If (sPieceJointe <> "") Then If (Drapeau = True) Then .TextBody = msgTexte & vbLf & LirePieceJointe(sPieceJointe) & vbLf Else .TextBody = msgTexte & vbLf & "Pièce jointe incluse : " & vbLf End If Else .TextBody = msgTexte & vbCrLf & "Aucune Pièce jointe" & vbCrLf End If ' Ligne à modifier selon l'adresse du serveur SMTP .Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.serveur.net" .Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Configuration.Fields.Update If ((sPieceJointe <> "") And (Drapeau = False)) Then objMail.AddAttachment (sPieceJointe) End If .Send End With Set objMail = Nothing MsgBox "Courriel envoyé !" Else Unload Me End If End Sub ' Function LirePieceJointe(LeFichier) Dim objFSO, CeFichier Set objFSO = CreateObject("Scripting.FileSystemObject") If (objFSO.FileExists(LeFichier)) Then Set CeFichier = objFSO.OpenTextFile(LeFichier, PourLecture) LirePieceJointe = CeFichier.ReadAll CeFichier.Close Set CeFichier = Nothing End If Set objFSO = Nothing End Function '
Lupin
J'ai un petit prog qui permet d'envoyer les mail que g dévellopez sous vb5.
Laisse ton E mail et je t'envois les sources sans probleme.
Je ne fais que d'envoyer des mail et je ne m'occupê absolument pas du pop3 qui permet de recuperer les mails pour la lecture.
Laisse ton E mail et je t'envois les sources sans probleme.
Je ne fais que d'envoyer des mail et je ne m'occupê absolument pas du pop3 qui permet de recuperer les mails pour la lecture.
kofaldi
Messages postés
5
Date d'inscription
lundi 18 novembre 2002
Statut
Membre
Dernière intervention
22 février 2007
22 févr. 2007 à 19:12
22 févr. 2007 à 19:12
Merci de bien vouloir me faire partager votre code source permettant d'envoyer des mail via outlook.
kofaldi@gmail.com
--kofaldi
kofaldi@gmail.com
--kofaldi
Bonjour,
Voila le code que j'ai repris et remodifier
Sub Outlook()
'********************************************************************************
'La fonction sert a envoyer un mail via excel en définissant tous les attribut
'********************************************************************************
Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem
' MESsages = MSG11 & MSG12 & MSG13 & MSG14
Set OLF = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set olMailItem = OLF.Items.Add
'******************************************************
'Avec la fonciton MailItem défini par olMailItem
'Subject = objet du mail
'.to = destinataire du mail
'.cc = copie du mail
'.bcc = copie caché du mail
'******************************************************
With olMailItem
.Subject = "Fichier rejets RESERVEA"
'.To = "xx@xx"
'.To = "xx@xx"
'.To = "xx@xx"
.CC = "xx@xx"
.Body = "Ci-joint le fichier des rejets RESERVEA complété à J-1"
.Attachments.Add "c:\xx.xls" ' & SOCiete & "" & Nomvar, olByValue, , "C:\Documents and Settings\X074310\Bureau\Image0001.JPG"
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Send
End With
Set ToContact = Nothing
Set olMailItem = Nothing
Set OLF = Nothing
End Sub
Voila le code que j'ai repris et remodifier
Sub Outlook()
'********************************************************************************
'La fonction sert a envoyer un mail via excel en définissant tous les attribut
'********************************************************************************
Dim OLF As Outlook.MAPIFolder, olMailItem As Outlook.MailItem
' MESsages = MSG11 & MSG12 & MSG13 & MSG14
Set OLF = GetObject("", "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set olMailItem = OLF.Items.Add
'******************************************************
'Avec la fonciton MailItem défini par olMailItem
'Subject = objet du mail
'.to = destinataire du mail
'.cc = copie du mail
'.bcc = copie caché du mail
'******************************************************
With olMailItem
.Subject = "Fichier rejets RESERVEA"
'.To = "xx@xx"
'.To = "xx@xx"
'.To = "xx@xx"
.CC = "xx@xx"
.Body = "Ci-joint le fichier des rejets RESERVEA complété à J-1"
.Attachments.Add "c:\xx.xls" ' & SOCiete & "" & Nomvar, olByValue, , "C:\Documents and Settings\X074310\Bureau\Image0001.JPG"
.OriginatorDeliveryReportRequested = False
.ReadReceiptRequested = False
.Send
End With
Set ToContact = Nothing
Set olMailItem = Nothing
Set OLF = Nothing
End Sub
Salut,
Je serais aussi interessé pour avoir le code source.
Si tu peux me l'envoyer ca serait cool.
Merci d'avance
Je serais aussi interessé pour avoir le code source.
Si tu peux me l'envoyer ca serait cool.
Merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
.nono.
Messages postés
90
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
3 juillet 2007
17
9 juin 2007 à 11:17
9 juin 2007 à 11:17
J'ai un code pour vous ;-)
Déjà vous êtes obligés de passer par le PHP (ça ouvre une fenêtre puis la referme quoi ^^).
Bon voyons déjà le code VB :
Ici l'adresse internet est la vôtre avec votre futur code PHP ;-)
Maintenant nous allons le créer celui ci ^^.
Voilà enregistrez ça en vbmail.php et ça marche ^^
Déjà vous êtes obligés de passer par le PHP (ça ouvre une fenêtre puis la referme quoi ^^).
Bon voyons déjà le code VB :
Dim mailto As String Dim mailfrom As String Dim mailtitre As String Dim mailcorps As String Dim mailreq As String Sub envoyer() mailto = "to=" & TextTo.Text mailfrom = "from=From:" & TextFrom.Text mailtitre = "titre=" & TextTitre.Text mailcorps = Replace(TextCorps.Text, Chr$(10), "\n" mailcorps = "corps=" & mailcorps mailreq = "http://domaine.tld/vbmail.php?" & mailto & "&" & mailfrom & "&" & mailtitre & "&" & mailcorps Shell ("c://WINDOWS/iexplore.exe " & mailreq) End Sub
Ici l'adresse internet est la vôtre avec votre futur code PHP ;-)
Maintenant nous allons le créer celui ci ^^.
<html> <BODY onLoad=""setTimeout(window.close, 1000)""> <?php mail($_GET[mailto], $_GET[mailtitre], $_GET[mailcorps], $_GET[mailfrom]); ?> </BODY> </html>
Voilà enregistrez ça en vbmail.php et ça marche ^^
pour gagner du temps,vu que toutes ces variables sont du type String,
au lieu de:
Dim mailto As String
Dim mailfrom As String
Dim mailtitre As String
Dim mailcorps As String
Dim mailreq As String
tu met
Dim mailto, mailfrom, mailtitre, mailcorps, mailreq As String
sa ira plus vite comme ça.Et c'est tout aussi clair.
mais tu as quand meme oublié dans ton code la vérification que le serveur réponde a la requete.aussi je te poste mon code qui est certes un peu plus long mais permet la vérification sans pour autant qu'il y ait un message qui le dise,en "silencieux".Le voici, il vient du site codes-sources:
Dim Account,Serveur
Set ObjReg = CreateObject("Wscript.shell")
Account = ObjReg.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Default Mail Account")
Serveur = Objreg.RegRead ("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\" & Account & "\SMTP Server")
Mail "Moi@haha.fr","Toi@haha.fr","Moi","Toi","haha","coucou",Serveur
Sub Mail(MailFrom,MailTo,NomFrom,NomTo,Sujet,Msg,Serveur)
Dim StrData
StrData = ""
set Wck = CreateObject("MSWinsock.Winsock")
Wck.connect Serveur , 25
Do While (wck.state <> 7)
wscript.sleep(200)
Loop
do until Left(StrData,3) = "220"
Wscript.sleep(200)
wck.getdata StrData
loop
StrData = ""
Wck.SendData "HELLO Serveur" & vbCrLf
do until Left(StrData,3) = "250"
Wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "MAIL FROM: <" & MailFrom & ">" & vbCrLf
do until Left(StrData,3) = "250"
wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "RCPT TO: <"& MailTo &">" & vbCrLf
do until Left(StrData,3) = "250"
wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "DATA" & vbCrLf
do until Left(StrData,3) = "354"
wscript.sleep(200)
wck.getdata StrData
loop
StrData = ""
Wck.SendData "From: " & Chr(34) & NomFrom & Chr(34) & " " & "<" & MailFrom & ">" & vbCrLf
Wck.SendData "To: " & Chr(34) & NomTo & Chr(34) & " " & "<" & MailTo & ">" & vbCrLf
Wck.SendData "Subject: " & Sujet & vbCrLf & vbCrLf
' attention,il faut inclure les reponses!! c est a dire le "." est le message.a vous de rajouter eventuellement
' une variable de texte comme ça: dim votretexte as string
Wck.SendData Msg & vbCrLf & "." & vbCrLf
do until Left(StrData,3) = "250"
wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "QUIT"
Wck.close
End Sub
au lieu de:
Dim mailto As String
Dim mailfrom As String
Dim mailtitre As String
Dim mailcorps As String
Dim mailreq As String
tu met
Dim mailto, mailfrom, mailtitre, mailcorps, mailreq As String
sa ira plus vite comme ça.Et c'est tout aussi clair.
mais tu as quand meme oublié dans ton code la vérification que le serveur réponde a la requete.aussi je te poste mon code qui est certes un peu plus long mais permet la vérification sans pour autant qu'il y ait un message qui le dise,en "silencieux".Le voici, il vient du site codes-sources:
Dim Account,Serveur
Set ObjReg = CreateObject("Wscript.shell")
Account = ObjReg.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Default Mail Account")
Serveur = Objreg.RegRead ("HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\" & Account & "\SMTP Server")
Mail "Moi@haha.fr","Toi@haha.fr","Moi","Toi","haha","coucou",Serveur
Sub Mail(MailFrom,MailTo,NomFrom,NomTo,Sujet,Msg,Serveur)
Dim StrData
StrData = ""
set Wck = CreateObject("MSWinsock.Winsock")
Wck.connect Serveur , 25
Do While (wck.state <> 7)
wscript.sleep(200)
Loop
do until Left(StrData,3) = "220"
Wscript.sleep(200)
wck.getdata StrData
loop
StrData = ""
Wck.SendData "HELLO Serveur" & vbCrLf
do until Left(StrData,3) = "250"
Wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "MAIL FROM: <" & MailFrom & ">" & vbCrLf
do until Left(StrData,3) = "250"
wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "RCPT TO: <"& MailTo &">" & vbCrLf
do until Left(StrData,3) = "250"
wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "DATA" & vbCrLf
do until Left(StrData,3) = "354"
wscript.sleep(200)
wck.getdata StrData
loop
StrData = ""
Wck.SendData "From: " & Chr(34) & NomFrom & Chr(34) & " " & "<" & MailFrom & ">" & vbCrLf
Wck.SendData "To: " & Chr(34) & NomTo & Chr(34) & " " & "<" & MailTo & ">" & vbCrLf
Wck.SendData "Subject: " & Sujet & vbCrLf & vbCrLf
' attention,il faut inclure les reponses!! c est a dire le "." est le message.a vous de rajouter eventuellement
' une variable de texte comme ça: dim votretexte as string
Wck.SendData Msg & vbCrLf & "." & vbCrLf
do until Left(StrData,3) = "250"
wscript.sleep(200)
Wck.getdata StrData
loop
StrData = ""
Wck.SendData "QUIT"
Wck.close
End Sub
J'essaye de réaliser une application qui permet d'envoyer des mails et j'aimerais beaucoup que vous m'envoyez le code source svp
Merci beaucoup
Merci beaucoup
olinadeau
Messages postés
19
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
26 août 2010
1
22 avril 2007 à 00:46
22 avril 2007 à 00:46
Salut, j'aimerais aussi que tu m'envoies le code source et aussi l'exécutable à olinadeau@hotmail.com.
J'aimerais également avoir ce code pour envoi de mail sur un poste utilisant Office-Outlook.
Merci d'avance.
guyc64@hotmail.com
Merci d'avance.
guyc64@hotmail.com
casanova2700
Messages postés
36
Date d'inscription
mardi 13 février 2007
Statut
Membre
Dernière intervention
3 novembre 2012
1
10 juin 2007 à 22:33
10 juin 2007 à 22:33
svp des sites ki contients des exercices en transact sql j`arrive pas a touver sur google si vs lavez deja trouve` envoi moi les url et merci
salut pouvez vous m'envoyer le code pour pouvoir envoyer des messages en VB sil vous plait merci d'avans
Bonjour,
voila moi aussi interesse de voir votre votre code source et surtout sans l utilisation de smtp
voila mon adress de msn
et je serai tres contente si vous me propose votre code source
rababe20@hotmail.com
voila moi aussi interesse de voir votre votre code source et surtout sans l utilisation de smtp
voila mon adress de msn
et je serai tres contente si vous me propose votre code source
rababe20@hotmail.com
Je me suis fié à ce bout de Code (celui de Lupin.A) pour une petite application cette avant-midi.
Elle sera tester par le tech chez le client en aprem, je vais voir si ça à fonctionner.
Je vous tiens au courant.
Elle sera tester par le tech chez le client en aprem, je vais voir si ça à fonctionner.
Je vous tiens au courant.
Bonjour,
je me suis servi du dernier code posté ici et il me sert bien ;) Merci!
Par contre j'aimerai attacher plusieurs fichiers-joints sur un même mail. La méthode AddAttachment, tel qu'elle est utilisée ici, peut le faire? ou peut être qu'il y a un index à mettre en place? j'ai pas trouvé d'info là dessus. un petit coup de main?
Merci d'avance :)
je me suis servi du dernier code posté ici et il me sert bien ;) Merci!
Par contre j'aimerai attacher plusieurs fichiers-joints sur un même mail. La méthode AddAttachment, tel qu'elle est utilisée ici, peut le faire? ou peut être qu'il y a un index à mettre en place? j'ai pas trouvé d'info là dessus. un petit coup de main?
Merci d'avance :)
slt, j'ai le code en vb pour l'envoi des aisl automatiquement mais le proibleme si que je veu joindre le contenu d'un document word comme corps message donc est ce qu'il y paersonne qui ma'ide et je l'aide dans une autre chose s'i veut surtout en c++
n'hestitez pas a me contacter tchao2007@HOTMAIL.FR
n'hestitez pas a me contacter tchao2007@HOTMAIL.FR
Utilisateur anonyme
24 févr. 2009 à 19:49
24 févr. 2009 à 19:49
re:
Bien content que cela serve :-)
Le première ligne ne sert qu'a renseigné le script (le programme) pour savoir
ou envoyer le courriel. Il est nécessaire d'avoir une passerelle SMTP pour
envoyer du courriel.
Comme dans ton logiciel de courriel, tu dois lui indiquer qui est ton FAI.
À moins que tu installe toi-même un service SMTP sur ton système.
Le paramètre [2] spécifie d'utiliser le port courant [ SMTP = port 25 ].
Tu trouveras tous les détails ici :
https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2003/ms870485(v=exchg.65)?redirectedfrom=MSDN
Mais aucun danger, d'inspection, de surveillance, etc ...
Ceci dit, ce sont les espions qui entrent dans les machines qui font
ce genre de trouble.
Lupin
Bien content que cela serve :-)
Le première ligne ne sert qu'a renseigné le script (le programme) pour savoir
ou envoyer le courriel. Il est nécessaire d'avoir une passerelle SMTP pour
envoyer du courriel.
Comme dans ton logiciel de courriel, tu dois lui indiquer qui est ton FAI.
À moins que tu installe toi-même un service SMTP sur ton système.
Le paramètre [2] spécifie d'utiliser le port courant [ SMTP = port 25 ].
Tu trouveras tous les détails ici :
https://docs.microsoft.com/en-us/previous-versions/office/developer/exchange-server-2003/ms870485(v=exchg.65)?redirectedfrom=MSDN
Mais aucun danger, d'inspection, de surveillance, etc ...
Ceci dit, ce sont les espions qui entrent dans les machines qui font
ce genre de trouble.
Lupin
Merci pour ce code ca m'a beaucoup servi
BadBoy3
Messages postés
108
Date d'inscription
dimanche 7 décembre 2008
Statut
Membre
Dernière intervention
7 janvier 2011
15
22 avril 2009 à 01:46
22 avril 2009 à 01:46
tu peut m'envoyé le code svp sur cette adresse
salam-badboy3@hotmail.fr
crdlmnt
salam-badboy3@hotmail.fr
crdlmnt
6 janv. 2009 à 14:06
6 janv. 2009 à 18:14
Voilà, j'ai tenté de rajouter des commentaires sur chaque instruction
Lupin
24 févr. 2009 à 19:23
ca vfonctionne à merveille en local ici. Toutefois, peux-tu ou quelququ'un pourrait-il m'en dis d'avantage sur le schema que nous appelons :
.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "relais.videotron.ca"
.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Update
à quoi ca sert exactement. J'envois de mon ordi ici , via mon smtp de mon FAI videotron.
à quoi ca sert la ligne 1, et la ligne duex, avec cette option 2? Mes envois seront ils inspecté, classés, bref l'appel de ce schéma sera-t-il inventorié chez microsoft?
Une quesiton bête faut le dire, mais j'aimerais en être certain.
merci à l'avance.
25 févr. 2009 à 04:58
Je me suis trompé ai j'ai envoyé ma réponse en fin de fil :-(
Quoi qu'il en soit, tu trouveras la réponse en fin de fil !
C'est à l'origine un script VBS qui permet de signaler des évènements
ou de rafraichir un journal automatique :-)
Je l'ai fabriqué pour m'envoyer mon @IP par courriel, puisque comme
toi, je n'ai pas une @IP fixe !
Mon frére et ma mère sont chez vidéotron et il ont ou avait ( il y a quand même
2 ans que je suis descendu à Sherbrooke) une ip fixe.
@+
Lupin
26 déc. 2009 à 16:46
je voudrais savoir si tu pourrais me dire comment faire pour envoyer des mil avec VB 2008 et les recevoir ( il faudrait qu'il s'affiche dans une listBox et pour les ecrirent il faudrait pouvoir les ecrirent dans une textBox
merci d'avance