Accueil > > > COMPOSANT ASPMAIL PILOTÉ VIA SQL SERVER
COMPOSANT ASPMAIL PILOTÉ VIA SQL SERVER
Information sur la source
Description
ASPMAIL est un composant permettant l'envoi de mails... Il peut être piloté via une page ASP ou peut être de même manipulé via les procédures stockées. Afin de pouvoir manipuler le composant ASPMAIL, il faut utiliser les procédures stockées OLE Automation afin de créer et utiliser l'objet Mailer. Voici les marches à suivre ainsi que les commandes à utiliser : 1. CREATION D'UNE INSTANCE DE L'OBJET OLE SMTPsvg.Mailer : sp_OACreate 2. AFFECTATION DES VALEURS AUX PROPRIETES DE L'OBJET SMTPsvg.Mailer : sp_OASetProperty 3. APPEL A DIFFERENTES METHODES POUR L'ENVOI DE MAIL : sp_OAMethod 4. GESTION DES ERREURS S'IL Y EN A EU : sp_OAGetErrorInfo 5. DESTRUCTION DE L'OBET OLE : sp_OADestroy Dans mon exemple, je prends en considération une table NEWSLETTER avec en clé unique le champs EMAIL qui contient l'adresse email de chaque utilisateur... Il s'agira de parcourir toutes les occurences de la table et envoyer un mail à chaque utilisateur...
Source
- CREATE PROCEDURE PO_ENVOI_NEWSLETTER
- AS
- /* Variable qui contiendra l'email de chaque utilisateur dans chaque ligne du curseur */
- DECLARE @EMAIL as varchar(255)
-
- BEGIN
- /* Les variables concernant le traitement du mail */
- @pObj int,
- @AspMail int,
- @property int,
-
- /* On déclare un curseur afin de récupérer toutes les adresses email */
- DECLARE CURSMAIL CURSOR GLOBAL FOR SELECT * FROM NEWSLETTER
-
- /* On ouvre le curseur */
- OPEN CURSMAIL
-
- /* On récupère une ligne spécifique du curseur */
- FETCH NEXT FROM CURSMAIL INTO @EMAIL
-
- /* Tant que la dernière instruction FETCH sur le curseur a reussie */
- WHILE(@@FETCH_STATUS = 0)
- BEGIN
- /* Envoi du mail */
- exec @AspMail=sp_OACreate "SMTPsvg.Mailer", @pObj OUT
- exec @AspMail=sp_OASetProperty @pObj, "RemoteHost","adresse de l'host"
- exec @AspMail=sp_OASetProperty @pObj, "FromName","Nom de l'emetteur"
- exec @AspMail=sp_OASetProperty @pObj, "FromAddress","Email de l'emetteur"
- exec @AspMail=sp_OASetProperty @pObj, "SubJect", "Commande de mails via SQL-SERVER"
- exec @AspMail=sp_OASetProperty @pObj, "ContentType","text/html"
- exec @AspMail=sp_OASetProperty @pObj, "BodyText","Corps de votre message"
- exec @AspMail=sp_OAMethod @pObj, "AddRecipient", @property OUT, @EMAIL, @EMAIL
- exec @AspMail=sp_OAMethod @pObj, "SendMail", @property OUT
- FETCH NEXT FROM CURSMAIL INTO @EMAIL
- END
- CLOSE CURSMAIL
- DEALLOCATE CURSMAIL
- END
-
-
- ************************
- Côté ASP :
- ************************
-
- Set Conn = Server.CreateObject("ADODB.Connection")
- Conn.Open "Nom de votre DSN"
-
- str = "EXEC PO_ENVOI_NEWSLETTER"
- set rst = Conn.Execute(str)
CREATE PROCEDURE PO_ENVOI_NEWSLETTER
AS
/* Variable qui contiendra l'email de chaque utilisateur dans chaque ligne du curseur */
DECLARE @EMAIL as varchar(255)
BEGIN
/* Les variables concernant le traitement du mail */
@pObj int,
@AspMail int,
@property int,
/* On déclare un curseur afin de récupérer toutes les adresses email */
DECLARE CURSMAIL CURSOR GLOBAL FOR SELECT * FROM NEWSLETTER
/* On ouvre le curseur */
OPEN CURSMAIL
/* On récupère une ligne spécifique du curseur */
FETCH NEXT FROM CURSMAIL INTO @EMAIL
/* Tant que la dernière instruction FETCH sur le curseur a reussie */
WHILE(@@FETCH_STATUS = 0)
BEGIN
/* Envoi du mail */
exec @AspMail=sp_OACreate "SMTPsvg.Mailer", @pObj OUT
exec @AspMail=sp_OASetProperty @pObj, "RemoteHost","adresse de l'host"
exec @AspMail=sp_OASetProperty @pObj, "FromName","Nom de l'emetteur"
exec @AspMail=sp_OASetProperty @pObj, "FromAddress","Email de l'emetteur"
exec @AspMail=sp_OASetProperty @pObj, "SubJect", "Commande de mails via SQL-SERVER"
exec @AspMail=sp_OASetProperty @pObj, "ContentType","text/html"
exec @AspMail=sp_OASetProperty @pObj, "BodyText","Corps de votre message"
exec @AspMail=sp_OAMethod @pObj, "AddRecipient", @property OUT, @EMAIL, @EMAIL
exec @AspMail=sp_OAMethod @pObj, "SendMail", @property OUT
FETCH NEXT FROM CURSMAIL INTO @EMAIL
END
CLOSE CURSMAIL
DEALLOCATE CURSMAIL
END
************************
Côté ASP :
************************
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Nom de votre DSN"
str = "EXEC PO_ENVOI_NEWSLETTER"
set rst = Conn.Execute(str)
Conclusion
En espérant vous aider, dans tous les cas bon courage et bonne programmation...
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Forum
RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop RE : FORMULAIRERE : FORMULAIRE par ap24dp
Cliquez pour lire la suite par ap24dp RE : FORMULAIRERE : FORMULAIRE par jopop
Cliquez pour lire la suite par jopop
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate 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
|