Accueil > > > ENVOYER UN E-MAIL AUTONOME (SANS MAPI) *-
ENVOYER UN E-MAIL AUTONOME (SANS MAPI) *-
Information sur la source
Description
Bien le bonjour ! Voici un petit code pour envoyer des e-mails sans MAPI, la seule contrainte du code est que l'ordi doit être connecté, c'est tout. Ce code est à mettre dans un module, la fonction Envoyer retourne TRUE si l'e-mail a été envoyé, FALSE si non. Vous devez passer en (premier) parametre un control Winsock. Le dernier parametre est votre serveur mail de courrier sortant (SMTP), vous pouvez jeter un coup d'oeuil a la fin pour en avoir une liste de libres. Le code ayant été très peu testé, il peut y avoir des erreurs, merci de les signaler, ou de les réparer sans grogner. Bon dévellopement, et merci à VBCS.
Source
- Option Explicit
- Dim Sock As Winsock
-
- Function Envoyer(Socket As Winsock, Nom_Exped As String, Mail_Exped As String, Nom_Destin As String, Mail_Destin As String, Objet As String, Optional Sujet As String = "", Optional Serveur As String = "Serveur Par Defaut") As Boolean
- Envoyer = False
- Set Sock = Socket
- Sock.Close
- Sock.RemotePort = 25
- Sock.RemoteHost = Serveur
- Dim T(6) As String
- Dim mFrom As String
- Dim mTo As String
- Dim mMess As String
- mFrom = Nom_Exped & " " & "<" & Mail_Exped & ">"
- mTo = Nom_Destin & " " & "<" & Mail_Destin & ">"
- mMess = ""
- mMess = "FROM: " & mFrom & vbCrLf & "TO: " & mTo & vbCrLf
- If Sujet <> "" Then mMess = mMess & "SUBJECT:" & Sujet & vbCrLf & VbCrLf
- mMess = mMess & Objet & vbCrLf
- T(0) = "HELO " & Serveur & vbCrLf
- T(1) = "MAIL FROM: " & "<" & Mail_Exped & ">" & vbCrLf
- T(2) = "RCPT TO: " & "<" & Mail_Destin & ">" & vbCrLf
- T(3) = "DATA" & vbCrLf
- T(4) = mMess
- T(5) = VbCrLf & "." & vbCrLf
- T(6) = "QUIT" & vbCrLf
- Dim i As Integer, c As Integer
- Sock.Close
- Sock.Connect
- For c = 1 To 10
- For i = 1 To 5000
- DoEvents
- Next i
- DoEvents
- If Sock.State = sckConnected Then Exit For
- Next c
- If Sock.State <> sckConnected Then Envoyer = False: Exit Function
- For i = 0 To 6
- DoEvents
- If Not SdTxt(T(i)) Then
- Exit For
- Err.Number = 1
- End If
- Next i
- If Err.Number = 0 Then Envoyer = True
- End Function
-
- Function SdTxt(txt As String) As Boolean
- SdTxt = False
- Dim i As Integer
- Dim tmp As String * 1
- For i = 1 To Len(txt)
- tmp = Mid$(txt, i, 1)
- Sock.SendData tmp
- Next i
- If Err.Number = 0 Then SdTxt = True
- End Function
-
Option Explicit
Dim Sock As Winsock
Function Envoyer(Socket As Winsock, Nom_Exped As String, Mail_Exped As String, Nom_Destin As String, Mail_Destin As String, Objet As String, Optional Sujet As String = "", Optional Serveur As String = "Serveur Par Defaut") As Boolean
Envoyer = False
Set Sock = Socket
Sock.Close
Sock.RemotePort = 25
Sock.RemoteHost = Serveur
Dim T(6) As String
Dim mFrom As String
Dim mTo As String
Dim mMess As String
mFrom = Nom_Exped & " " & "<" & Mail_Exped & ">"
mTo = Nom_Destin & " " & "<" & Mail_Destin & ">"
mMess = ""
mMess = "FROM: " & mFrom & vbCrLf & "TO: " & mTo & vbCrLf
If Sujet <> "" Then mMess = mMess & "SUBJECT:" & Sujet & vbCrLf & VbCrLf
mMess = mMess & Objet & vbCrLf
T(0) = "HELO " & Serveur & vbCrLf
T(1) = "MAIL FROM: " & "<" & Mail_Exped & ">" & vbCrLf
T(2) = "RCPT TO: " & "<" & Mail_Destin & ">" & vbCrLf
T(3) = "DATA" & vbCrLf
T(4) = mMess
T(5) = VbCrLf & "." & vbCrLf
T(6) = "QUIT" & vbCrLf
Dim i As Integer, c As Integer
Sock.Close
Sock.Connect
For c = 1 To 10
For i = 1 To 5000
DoEvents
Next i
DoEvents
If Sock.State = sckConnected Then Exit For
Next c
If Sock.State <> sckConnected Then Envoyer = False: Exit Function
For i = 0 To 6
DoEvents
If Not SdTxt(T(i)) Then
Exit For
Err.Number = 1
End If
Next i
If Err.Number = 0 Then Envoyer = True
End Function
Function SdTxt(txt As String) As Boolean
SdTxt = False
Dim i As Integer
Dim tmp As String * 1
For i = 1 To Len(txt)
tmp = Mid$(txt, i, 1)
Sock.SendData tmp
Next i
If Err.Number = 0 Then SdTxt = True
End Function
Conclusion
J'ai apporté 2 petites rectifications. j'espère que ça marchera mieux maintenant. ---------------------- Bon, on m'a demandé un exemple et des serveurs libres (difficiles a trouver d'ailleurs, alors si vous en avez, mailez-les moi svp...). *Liste de serveurs: - mail.mageos.com
*Exemple: Vous mettez dans une feuille de nom "Form1" un controle WInsock de Nom "Sock1". Propriétés du message: Exepediteur: Nom: Jean | Mail: Jean@piu.com Destinataire: Nom: Pierre | Mail: Pierre@yoa.com Sujet: "Salut c'est Jean..." Objet: "Ca va ? Je voulais te dire que ma grand-mére était championne de Karate-Do poids lourd, c'est tout... Ciao." Serveur: "mail.mageos.com"
Donc vous allez envoyer ça comme ça :
Envoyer Form1.Sock1, "Jean", "Jean@piu.com", "Pierre", "Pierre@yoa.com", "Ca va ? Je voulais te dire que ma grand-mére était championne de Karate-Do poids lourd, c'est tout... Ciao.", "Salut c'est Jean...", "mail.mageos.com" ... et c'est tout ! Pas dur quand même !
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Envoyer un mail sans Winsock ni Outlook ! [ par Jonef ]
Bonjour à tous !Voilà, en fait je souhaite faire un programme qui envois des e-mails, le problème c'est que Winsock ne marche pas donc pas possible d'
Mail SMTP par WINSOCK [ par mcroteau ]
J'ai présentement un problème. J'utilise Winsock pour envoyer des mails. Si j'envoie le mail par un serveur Exchange, la date d'envoie n'est pas la bo
Envoyer simplement un mail avec winsock ! [ par Reelaxman ]
Salut à tous !J'ai trouver bon nombre de sources pour envoyer un mail avec Winsock, mais pas une seule qui ne fonctionne... A se tirer une balle
comment envoyer des mail par winsock [ par dOsSpr0uTosS ]
salut à tous,je voudrais envoyer un mail par winsock donc je tape mailto:kurt_cobain_75@hotmail.com?Subject=test&body=salutmais la il me dit
Envoyer mail sans MAPI ni CDO [ par talking ]
Bonjour tout le monde. Voilà donc j'ai cherché sur tout le site, comment envoyer un mail avec Winsock, j'ai trouvé des sources, mais le
Envoi de Mail avec Winsock [ par Cjvg ]
Bonjour à tous,Sous Microsoft XP et avec Visual Basic est ce que je peux:Question 1 Je souhaiterais savoir si avec Winsock je peux envoyer des mails
Envoi Email [ par podzob56 ]
Bonjour à tous!Je cherche à faire une macri qui reproduirait ceci:Ouverture "fichier.xls" puis"fichier"->"envoyer vers"-> destinatairedonc norma
recherche service web pour envoyer mail [ par djmic ]
bonjour à tous,je suis à la recherche d'un service Web pour envoyer des mails. Est-ce que quelqu'un aurait un bon site qui propose des services web po
Problème envoyer un mail via webmail [ par xounay ]
Bonjour,Je cherche à envoyer un mail via webmail derriere serveur exchange.sachant qu'il y a une histoire de certificat+auth.Alors pour du smtp classi
Envoi de mail en automatique Outlook/Exchange [ par BUZZ2K ]
Bonjour,J'ai dev un logiciel sous Access. Je souhaiterais exporter des documents en PDF et les envoyer par mail.J'arrive a transformer mon etat en PDF
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|