begin process at 2010 07 31 04:57:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

E-mail

 > CLASS : NEWSLETTER AVEC OPTIN

CLASS : NEWSLETTER AVEC OPTIN


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :E-mail Source .NET ( DotNet ) Classé sous :newsletter, options, module, class, sqlserver Niveau :Débutant Date de création :01/05/2005 Date de mise à jour :14/04/2006 07:58:54 Vu :15 855

Auteur : vladam

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


 Description

Hello !

Voici une petite classe pour vous permettre d'ajouter très facilement un module de newsletter avec optin sur vos sites en ASP.NET / SQLSERVER 2000.

Voici aussi le script SQL afin de créer correctement la tables nécéssaire ...
CREATE TABLE [dbo].[AA_newsletter] (
[news_id] [int] IDENTITY (1, 1) NOT NULL ,
[news_mail] [nvarchar] (255) COLLATE French_CI_AS NOT NULL ,
[news_civ] [nvarchar] (6) COLLATE French_CI_AS NULL ,
[news_naissance] [smalldatetime] NULL ,
[news_validation] [bit] NOT NULL ,
[news_creation] [smalldatetime] NOT NULL ,
[news_CCP] [nvarchar] (6) COLLATE French_CI_AS NULL ,
[news_NbEv] [int] NULL ,
[news_desins] [smalldatetime] NULL ,
[news_clics] [int] NULL
) ON [PRIMARY]

Source

  • #Region "Les imports"
  • Imports System.Data.SqlClient
  • Imports System.Web
  • Imports System.Web.Mail
  • Imports System.Configuration
  • #End Region
  • #Region "CopyRight & Co"
  • '*********************************************************************************
  • '** File: AA-ENGINE\newsletter\Newsletter.vb
  • '** Name: AA-ENGINE.Newsletter
  • '** Desc: Moteur de newsletter avec double Optin sur une base de données SQLServer
  • '**
  • '**
  • '** Auth: (c)PINNEAU
  • '** Date: 07/03/2005
  • '*********************************************************************************
  • '** Change History
  • '*********************************************************************************
  • '** Date: Author: Description:
  • '** ---------- ------------------ -------------------------------------------
  • '** 07/03/2005 Jérôme PINNEAU Création de la classe
  • '**
  • '*********************************************************************************
  • #End Region
  • Namespace Newsletter
  • Public Class Newsletter
  • Public Shared Function IsAboEmail(ByVal email As String) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • conn.Open()
  • Dim com As New SqlCommand("SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC", conn)
  • IDretour = com.ExecuteScalar()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • If IDretour < 0 Then
  • Return True
  • Else
  • Return False
  • End If
  • End Function
  • Public Shared Sub AddAbonnes(ByVal email As String)
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • conn.Open()
  • Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation,news_validation) VALUES ('" & Replace(email, "'", "''") & "',getdate(),1)", conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • End Sub
  • Public Function PreInscription(ByVal email As String) As Integer
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • conn.Open()
  • Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation) VALUES ('" & email & "',getdate())", conn)
  • com.ExecuteNonQuery()
  • com.CommandText = "SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC"
  • IDretour = com.ExecuteScalar()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • Return IDretour
  • End Function
  • Public Function Update_Civilite(ByVal Idemail As Integer, ByVal civ As String) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Try
  • conn.Open()
  • Catch ex As Exception
  • Return False
  • End Try
  • Try
  • Dim com As New SqlCommand("UPDATE AA_newsletter SET news_civ='" & civ & "' WHERE news_id=" & Idemail.ToString, conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • Return True
  • Catch ex As Exception
  • conn.Close()
  • conn = Nothing
  • Return False
  • End Try
  • End Function
  • Public Function Update_DateNaissance(ByVal Idemail As Integer, ByVal DateNaissance As String) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Try
  • conn.Open()
  • Catch ex As Exception
  • Return False
  • End Try
  • Try
  • Dim com As New SqlCommand("UPDATE AA_newsletter SET news_naissance='" & DateNaissance & "' WHERE news_id=" & Idemail.ToString, conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • Return True
  • Catch ex As Exception
  • conn.Close()
  • conn = Nothing
  • Return False
  • End Try
  • End Function
  • Public Function Update_CPostal(ByVal Idemail As Integer, ByVal CP As String) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Try
  • conn.Open()
  • Catch ex As Exception
  • Return False
  • End Try
  • Try
  • Dim com As New SqlCommand("UPDATE AA_newsletter SET news_CCP='" & CP & "' WHERE news_id=" & Idemail.ToString, conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • Return True
  • Catch ex As Exception
  • conn.Close()
  • conn = Nothing
  • Return False
  • End Try
  • End Function
  • Public Function Register_mail(ByVal email As String, ByVal Id As Integer) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Try
  • conn.Open()
  • Catch ex As Exception
  • Return False
  • End Try
  • Try
  • Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=1 WHERE news_id=" & Id.ToString & " AND news_mail='" & Replace(email, "'", "''") & "'", conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • AA_ENGINE.IO.Logs.AddEvent("nouvelle inscription à la newsletter", 4)
  • Return True
  • Catch ex As Exception
  • conn.Close()
  • conn = Nothing
  • Return False
  • End Try
  • End Function
  • Public Function desinscription_mail(ByVal email As String, ByVal Id As Integer) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Try
  • conn.Open()
  • Catch ex As Exception
  • Return False
  • End Try
  • Try
  • Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,News_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • Return True
  • Catch ex As Exception
  • conn.Close()
  • conn = Nothing
  • Return False
  • End Try
  • End Function
  • Public Function new_mail_erreur(ByVal email As String, ByVal Id As Integer) As Boolean
  • Dim IDretour As Integer = 0
  • Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
  • Try
  • conn.Open()
  • Catch ex As Exception
  • Return False
  • End Try
  • Try
  • Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,news_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
  • com.ExecuteNonQuery()
  • com = Nothing
  • conn.Close()
  • conn = Nothing
  • Return True
  • Catch ex As Exception
  • conn.Close()
  • conn = Nothing
  • Return False
  • End Try
  • End Function
  • End Class
  • End Namespace
#Region "Les imports"
Imports System.Data.SqlClient
Imports System.Web
Imports System.Web.Mail
Imports System.Configuration
#End Region

#Region "CopyRight & Co"
'*********************************************************************************
'**  File: AA-ENGINE\newsletter\Newsletter.vb
'**  Name: AA-ENGINE.Newsletter
'**  Desc: Moteur de newsletter avec double Optin sur une base de données SQLServer
'**  
'**
'**  Auth: (c)PINNEAU
'**  Date: 07/03/2005
'*********************************************************************************
'**  Change History
'*********************************************************************************
'**  Date:       Author:                Description:
'**  ----------  ------------------     -------------------------------------------
'**  07/03/2005  Jérôme PINNEAU              Création de la classe
'**  
'*********************************************************************************
#End Region
Namespace Newsletter

    Public Class Newsletter

        Public Shared Function IsAboEmail(ByVal email As String) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            conn.Open()
            Dim com As New SqlCommand("SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC", conn)
            IDretour = com.ExecuteScalar()
            com = Nothing
            conn.Close()
            conn = Nothing
            If IDretour < 0 Then
                Return True
            Else
                Return False
            End If
        End Function

        Public Shared Sub AddAbonnes(ByVal email As String)
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            conn.Open()
            Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation,news_validation) VALUES ('" & Replace(email, "'", "''") & "',getdate(),1)", conn)
            com.ExecuteNonQuery()
            com = Nothing
            conn.Close()
            conn = Nothing
        End Sub

        Public Function PreInscription(ByVal email As String) As Integer
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            conn.Open()
            Dim com As New SqlCommand("INSERT INTO AA_newsletter (news_mail,news_creation) VALUES ('" & email & "',getdate())", conn)
            com.ExecuteNonQuery()
            com.CommandText = "SELECT news_id FROM AA_newsletter WHERE news_mail='" & email & "' ORDER BY news_id DESC"
            IDretour = com.ExecuteScalar()
            com = Nothing
            conn.Close()
            conn = Nothing
            Return IDretour
        End Function

        Public Function Update_Civilite(ByVal Idemail As Integer, ByVal civ As String) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Try
                conn.Open()
            Catch ex As Exception
                Return False
            End Try
            Try
                Dim com As New SqlCommand("UPDATE AA_newsletter SET news_civ='" & civ & "' WHERE news_id=" & Idemail.ToString, conn)
                com.ExecuteNonQuery()
                com = Nothing
                conn.Close()
                conn = Nothing
                Return True
            Catch ex As Exception
                conn.Close()
                conn = Nothing
                Return False
            End Try
        End Function

        Public Function Update_DateNaissance(ByVal Idemail As Integer, ByVal DateNaissance As String) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Try
                conn.Open()
            Catch ex As Exception
                Return False
            End Try
            Try
                Dim com As New SqlCommand("UPDATE AA_newsletter SET news_naissance='" & DateNaissance & "' WHERE news_id=" & Idemail.ToString, conn)
                com.ExecuteNonQuery()
                com = Nothing
                conn.Close()
                conn = Nothing
                Return True
            Catch ex As Exception
                conn.Close()
                conn = Nothing
                Return False
            End Try
        End Function

        Public Function Update_CPostal(ByVal Idemail As Integer, ByVal CP As String) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Try
                conn.Open()
            Catch ex As Exception
                Return False
            End Try
            Try
                Dim com As New SqlCommand("UPDATE AA_newsletter SET news_CCP='" & CP & "' WHERE news_id=" & Idemail.ToString, conn)
                com.ExecuteNonQuery()
                com = Nothing
                conn.Close()
                conn = Nothing
                Return True
            Catch ex As Exception
                conn.Close()
                conn = Nothing
                Return False
            End Try
        End Function

        Public Function Register_mail(ByVal email As String, ByVal Id As Integer) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Try
                conn.Open()
            Catch ex As Exception
                Return False
            End Try
            Try
                Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=1 WHERE news_id=" & Id.ToString & " AND news_mail='" & Replace(email, "'", "''") & "'", conn)
                com.ExecuteNonQuery()
                com = Nothing
                conn.Close()
                conn = Nothing
                AA_ENGINE.IO.Logs.AddEvent("nouvelle inscription à la newsletter", 4)
                Return True
            Catch ex As Exception
                conn.Close()
                conn = Nothing
                Return False
            End Try
        End Function

        Public Function desinscription_mail(ByVal email As String, ByVal Id As Integer) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Try
                conn.Open()
            Catch ex As Exception
                Return False
            End Try
            Try
                Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,News_desins=getdate() WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
                com.ExecuteNonQuery()
                com = Nothing
                conn.Close()
                conn = Nothing
                Return True
            Catch ex As Exception
                conn.Close()
                conn = Nothing
                Return False
            End Try
        End Function

        Public Function new_mail_erreur(ByVal email As String, ByVal Id As Integer) As Boolean
            Dim IDretour As Integer = 0
            Dim conn As New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
            Try
                conn.Open()
            Catch ex As Exception
                Return False
            End Try
            Try
                Dim com As New SqlCommand("UPDATE AA_newsletter SET news_validation=0,news_desins=getdate()  WHERE news_id=" & Id.ToString & " AND news_mail='" & email & "'", conn)
                com.ExecuteNonQuery()
                com = Nothing
                conn.Close()
                conn = Nothing
                Return True
            Catch ex As Exception
                conn.Close()
                conn = Nothing
                Return False
            End Try
        End Function

    End Class

End Namespace

 Conclusion

Je l'utilise dans mon framework, très pratique !
Vous devriez faire comme moi (si ce n'est déjà fait), c'est de vous constituer un framework rassemblant toutes les fonctionnalités que vous développez dans un framework (bibliothèque de classe). cela me permet par exemple à présent de développer des sites complets en quelques jours (ecommerce, cartes-virtuelles, annuaires, etc ...)


 Historique

14 avril 2006 07:58:56 :
un ; en plus :=)

 Sources du même auteur

Source .NET (Dotnet) FONCTIONS DE VÉRIFICATION DE LA SYNTAXE D'UNE CHAINE
Source .NET (Dotnet) LIRE LA SOURCE D'UNE PAGE
Source avec Zip Source .NET (Dotnet) IMPLÉMENTER TRÈS FACILEMENT URLREWRITER (RÉÉCRITURE D'URL) ...
Source .NET (Dotnet) RÉÉCRITURE D'URL DANS ASP.NET (URL REWRITER)
Source .NET (Dotnet) CLASS : TRACKING POUR VOTRE ECOMMERCE (MYSQL SQLSERVER)

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) HIDDENEMAIL : MASQUER VOS EMAILS AUX ROBOTS par sebmafate
Source .NET (Dotnet) C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP par fabrice69
Source .NET (Dotnet) ASP.NET - ENVOYER UN MAIL AVEC JMAIL.NET par epetegnief
Source avec Zip E-MAIL EN JMAIL SIMPLE ET EFFICACE + FORMULAIRE par GillesWebmaster
ENVOIE MAIL EN SMTP DEPUIS WINDOWS 2003 / ASP SANS COMPOSANT par lord mathius

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) GESTION DES UTILISATEURS par jarod_mmc
UPLOAD D'IMAGES VIA ADODB.STREAM ET SQL SERVER par Nicolas_kojack
Source avec Zip Source avec une capture Source .NET (Dotnet) .NET2 GESTIONNAIRE DE DROITS DE FICHIERS AVEC SQL SERVER EN ... par gldfdp
Source .NET (Dotnet) CLASS : TRACKING POUR VOTRE ECOMMERCE (MYSQL SQLSERVER) par vladam
Source avec une capture Source .NET (Dotnet) REMPLIR UNE DROPDOWNLIST AVEC UNE BASE DE DONNÉES SQL SERVER par djul94

Commentaires et avis

Commentaire de mehdisfr le 19/01/2006 11:45:55

est ce que je peu utiliser access comme base de donnee? et comment doit etre la structure de la base?

Commentaire de jeffwow le 13/04/2006 23:24:04

Ça a l'air très bien.

Petit commentaire constructif en passant:

Ajoute des commentaires a ton code... Parce que juste: "Moteur de newsletter avec double Optin sur une base de données SQLServer" ça dit pas grand chose.

Commentaire de vladam le 11/09/2008 11:21:17 administrateur CS

Maintenant, j'ai gérez le problème avec newsgratuite.com.
Profitez en aussi :) c'est de moi et c'est gratuit :)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

URGENT : access / sqlserver / Oracle ??? help-me ! [ par inorbit ] Je developpe en ASP/acess mais devant un projet de boutique en ligne avec 500 produits et une grosse bande passante j'hésite à utiliser Acess, que me Module Access + ASP [ par dan ] Bonjour, il est possible de lancer des procs stockées ca pas de pb. Mais qqun a-t-il reussit a lancer un module Access ???est ce reellement possible ? RecordSet et ces options [ par ypothier ] Bonjour !Est-ce que quelqu'un peut me dire qu'elles sont les options que je peux mettre avec mon recordSet pour que la méthode movePrevious fonctionne Image GIF et mail html avec asp... [ par TORIUKE ] Bonjour,J'ai un problème d'affichage d'un logo au format GIF dans l'envoi d'une newsletter HTML automatique qui utilise CDONTS et ASP. La visualisatio CDONTS - Image - Lotus Notes [ par TORIUKE ] Bonjour,J'ai un problème d'affichage d'un logo au format GIF dans l'envoi d'une newsletter HTML automatique qui utilise CDONTS et ASP. La visualisatio Peut on lancer un module Access directement en ASP [ par watoonet ] Bon, je sais, je débute.Mais, bon, peut on exécuter un code access directement en ASP, ou afficher un formulaire access??Elle est peut être nulle ma q Problème de connexion a la base sqlserver [ par fella2 ] Problème de connexion a la base sqlserverJe suis une débutante dans asp.net, j'ai essaye d'accéder a une base de données sous SQL Server.Mon fichier s La NewsLetter de Milliez [ par Abdillahi ] Bonjour à vous tous,j'ai téléchager depuis ce site le code de la NewslLetter de Milliez...ça ne marche pas! comme je n'arrive pas à avoir une réponse différences entre fonction et objet ? [ par bubblepwal ] Bonjour,J'ai deux fois la même chose, une fois en fonction et ça marche !!!, et l'autre en objet (class) et là ça renvoie aucune erreur mais ça fait r Newsletter de Milliez [ par Abdillahi ] Bonjour à vous tous,j'ai téléchager depuis ce site le code de la NewslLetter de Milliez...ça ne marche pas! comme je n'arrive pas à avoir une réponse


Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales