- 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)