Mailing list avec mysql

Soyez le premier à donner votre avis sur cette source.

Vue 14 705 fois - Téléchargée 4 761 fois

Description

Un mailing list en PHP composé de 5 parties :
- un formulaire pour s'inscrire ou se désinscrire du mailing
- un script PHP qui stocke ou supprime l'adresse email dans mysql
- une page login permettant de s'identifier à l'aide d'un nom d'utilisateur et d'un mot de passe pour restreindre l'accès à l'envoi de mailings
- un formulaire pour insérer le code html du message à envoyer
- un script PHP qui envoie ce message à toutes les adresses stockées dans mysql.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_frop01
Messages postés
1356
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1 -
Salut,

Bravo pour le code et surtout les commentaires ;)

Pour le désabonnement, if ne faut pas supprimer l'email juste en cliquant sur envoyer, il faudrait envoyer un email à cette adresse avec un lien de confirmation de suppression (moyennant une clé aléatoire) , sinon des malins risquent d'en abuser ;)

@+
ayrton16
Messages postés
14
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2015
-
juste le code que je cherchais, mais j'ai voulu l'adapter pour me connecter à une base access, et pas moyen de lui faire récuperer les adresses mail, il me recupère des "1". voilà le code que j utilise:
<?php
#Les champs entre /**/ sont à compléter.

$user="root"; // login
$password=""; // password
$connect=odbc_connect("nomDeLaBase", $user, $password);
if( ! $connect ) echo "Impossible de se connecter";

$sql="select * from mailingtest"; //récupération des données
$result=odbc_exec($connect, $sql);


$texte=$_POST['texte']; //récupération du message dans le formulaire
$sujet=/*sujet*/;
$entete=/*adresse mail*/;
$entete .="MIME-Version: 1.0\n";
$entete .="Content-Type: multipart/alternative;boundary=$boundary\n";
$message .= "\nThis is a multi-part message in MIME format.";
$message .="\n--$boundary\nContent-Type: text/html;charset="iso-8859-1"\n\n";
$message .="$texte";
$message .="\n--$boundary--\n end of the multi-part";

while($email=odbc_fetch_row($result)) //envoi du message à tous les emails de la base de données
{
echo $email;
$res=mail($email[0],$sujet,$message,$entete);
}
?>

si quelqu'un voit où j'ai déconné... (je suis débutant)
cs_frop01
Messages postés
1356
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1 -
salut ,

La structure de ta table ?? il affiche quoi avec ce code ?

while($email=odbc_fetch_row($result)) {
echo $email[0];
}


?>
ayrton16
Messages postés
14
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2015
-
merci, ben en fait ça affichait rien :s
mais finalement j y suis parvenu avec ce code:

<?php
$user="root"; // login
$password=""; // password
$connect=odbc_connect("nomDeLaBase", $user, $password);
if( ! $connect ) echo "Impossible de se connecter";

$result= odbc_exec( $connect, "select * from mailingtest" );
$texte=$_POST['texte']; //récupération du message dans le formulaire
$sujet="test";
$entete=/*email*/;
$entete .="MIME-Version: 1.0\n";
$entete .="Content-Type: multipart/alternative;boundary=$boundary\n";
$message .= "\nThis is a multi-part message in MIME format.";
$message .="\n--$boundary\nContent-Type: text/html;charset="iso-8859-1"\n\n";
$message .="$texte";
$message .="\n--$boundary--\n end of the multi-part";

while(odbc_fetch_row($result)) //envoi du message à tous les emails de la base de données
{
$res=mail(odbc_result( $result, 2 ),$sujet,$message,$entete);
}
?>

Le problème, c'est que les mails s'envoient avec l'adresse de mon hébergeur. Logique dans un sens... mais y a pas un moyen pour que mes destinataires reçoivent le mail avec mon adresse en tant qu'expéditeur?
raphaelcohen23
Messages postés
7
Date d'inscription
vendredi 10 octobre 2003
Statut
Membre
Dernière intervention
3 octobre 2005
-
Mets l'email de l'expéditeur entre les /**/ de $entete=/*email*/;

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (raphaelcohen23)