Il y a actuellement 80 visiteurs
Samedi 31 Juillet 2021
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

e-mail de masse.

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

e-mail de masse.

Message le 16 Jan 2005 12:26

Salut

J'ai juste une question : comment faire pour envoyer un e-mail de masse sans que les recepteurs voient que c'est un mail de masse.

Merci d'avance :D
Kypris
Avatar de l'utilisateur
Kypris
Visiteur
Visiteur
 
Messages: 5
Inscription: 01 Jan 2005 22:06
 


Message le 16 Jan 2005 12:43

On apprend à programmer en Perl...

Voila un petit truc écrit pour l'occasion du nouvel an (qui prend le fichier avec les contacts du logiciel mutt, et pour chaque groupe de personnes permet d'envoyer un message "personnalisé")
Code: Tout sélectionner
#!/usr/bin/perl

use strict;
use POSIX;
use DBI;

our %config;
our @groups;
$config{"aliases_file"}="/home/warbrain/Emails/mutt/aliases.rc";
$config{"lists_dir"}="/home/warbrain/Emails/Lists/";


our $dbh= DBI->connect( "dbi:SQLite:/tmp/eventspam.dbl" ) || die "Cannot connect: $DBI::errstr
";

sub create {
   our $dbh;
   $dbh->do("DROP TABLE emails") || print "Table is new, creating...
";
   $dbh->do("DROP TABLE groups") || print "Table is new, creating...
";
   $dbh->do("CREATE TABLE emails (email PRIMARY KEY,ealias UNIQUE,ename,ealone DEFAULT 1)")|| die "Cannot create table 'emails'
";   
   $dbh->do("CREATE TABLE groups (gname,gsub)")|| die "Cannot create table 'groups'
";   
}

sub fill {
   our $dbh;
   our %config;
   our @groups;
   open(FH,$config{"aliases_file"});
   my $group=0;
   my $groupligne;

   while(my $ligne=<FH>){
      chomp($ligne);
      if (($ligne =~ /^s*#/) or ($ligne =~ /^s*$/)){
## ligne vide ou commentaire
         $group=0;
         next;
      }
      $ligne=~s/^s*//;
      $ligne=~s/s*$//;
      $ligne=~s/s+/ /;
      if ($group == 0){
         my ($ealias,$ename,$email,$linetail,$groupname);
         if ($ligne=~/^aliass+(S+)s*(.*?)s+<(.+?@.+?)>$/){
            ## ligne de mail normale
            $ealias=$1;
            $ename=$2;
            $email=$3;
            $ligne=$email;
            $dbh->do("INSERT INTO emails (email, ealias, ename) VALUES ('$email','$ealias','$ename')")
               or   print "NOT UNIQUE: ($email,$ealias,$ename)";
            #$dbh->do("INSERT INTO groups (gname,gsub) VALUES ('$ealias','$ealias')")
            #   or print "NOT UNIQUE: ";
#print "==> $ealias / $ename / $ligne <==
";
         } elsif ( $ligne=~/^aliass+(S+).*?,.*?\$/) {
## début d'un groupe
            $groupname=$1;
            #print "$groupname ->
";
            $group=1;
            $groupligne=$ligne;
         } elsif ($ligne=~/^aliass+(S+)s+(.*?)$/) {
#alias d'un alias (groupe monoligne)
            $ealias=$1;
            $linetail=$2;
            #print "$ealias -> $linetail
";
         } else {
            print "INCONNU: $ligne
";   
         }
      } else {
# group != 0
         if ($ligne=~/\$/){
## la ligne se finit par ""
            $ligne=~s/\$//;
            $groupligne=$groupligne.$ligne;
         } else {
# la ligne ne se finit pas par ""
# donc on clos le groupe
            $groupligne=$groupligne.$ligne;

            my $groupname=$groupligne;
            $groupligne=~/^aliass+(S+)s+.*$/;
            $groupname=$1;
            my $res=$dbh->selectall_arrayref(q(SELECT COUNT(*) FROM groups WHERE gname='$groupname'));
            if (@$res[0]->[0] == 0){
               push @groups, $groupname;
#foreach my $hop ( @$res ) {
#   foreach my $i (@$hop) {
#      print $i." "
#   }
#   print "
";
#}
               $groupligne=~s/^aliass+S+s+(.*)$/$1/;
               $groupligne=~s/\/ /g;
               $groupligne=~s/s*,s*/,/g;
               my @G=split(/,/,$groupligne);
#unlink("$aliasDIR/$groupname.grp");
               foreach my $gsub (@G) {
                  ## TODO détecter les subgroup invalides
                  $dbh->do("INSERT INTO groups (gname,gsub) VALUES ('$groupname','$gsub')");
               #   print "   $gsub
";
#   $g=~s/^.*?s+(.*?@.*?)s+.*?$/$1/;
#   $g=~s/<(.*)>/$1/;
#   print "$groupname : $g
";
#   system("echo '$g' >> $aliasDIR/$groupname.grp");
               }
            } else {
## BUG: le groupe a déja été déclaré
            }
            $group=0;
         }
      }
   }
}

sub markgroups {
   our @groups;
   foreach my $group (@groups){
      $dbh->do("UPDATE emails SET ealone=0 WHERE ealias IN (SELECT gsub FROM groups WHERE gname='$group')");
   }
}

sub showalone {
   our $dbh;
   header("Not grouped");
   my $res=$dbh->selectall_arrayref("SELECT ename,ealias,email FROM emails WHERE ealone=1");
   foreach my $r ( @$res ) {
      my @row=@$r;
      print " - ".$row[1]." = ".$row[0]." <".$row[2].">
";
   }

}

sub isfinalalias {
   my ($alias)=@_;
   our $dbh;
   my $res=$dbh->selectall_arrayref("SELECT COUNT(*) FROM emails WHERE ealias='$alias'");
   if (@$res[0]->[0] == 0){
      return 0;
   } else {
      return 1;
   }
}

sub emailgroup {
   my ($groupname,$messagefile,$subject)=@_;
   our $dbh;
   if ((-f "$messagefile") and ($subject ne "")){
      my $res=$dbh->selectall_arrayref("SELECT gsub FROM groups WHERE gname='$groupname'");
      foreach my $r ( @$res ) {
         my @row=@$r;
         if (isfinalalias($row[0])) {
            my $cmd="cat "$messagefile" | mutt '".$row[0]."' -s '$subject'
";
            system($cmd);
            print $cmd;
            #print "F - ".$row[0]."
";
         }
         else {
            emailgroup(($row[0],$messagefile,$subject));
         }
      }   
   } else {
      print "Invalid message file
";
   }
}


sub showgroups {
   our @groups;
   header("Current groups");   
   foreach my $group (@groups) {
      print " - $group
";
   }
}

sub header {
   my ($text)=@_;
   print "====================[ $text ]====================
";
}


sub usage {
   print "Usage:  eventspam <options>

";
   print "Where options could be:
";
# print "inithome <home>    Init directory "home"
";
# print "initgroup <group>  Init group "home"
";
   print "groups              Add a new user called "login"
";
   print "alone               Removes user "login"
";
   print "spam group message  List of users in the sanctuaire
";
   print "who <group>         List users currently connected
";
}

create();
fill();
markgroups();

my $arg=shift;
if ($arg eq "alone"){ showalone(); }
elsif ($arg eq "groups") { showgroups(); }
elsif ($arg eq "spam") { emailgroup(@ARGV); }
else { usage(); }

$dbh->disconnect;
Avatar de l'utilisateur
glenux
PC-Infopraticien
PC-Infopraticien
 
Messages: 2757
Inscription: 01 Mar 2003 16:22
Localisation: Entre deux BarCamps
 

Message le 16 Jan 2005 13:48

:lol: Glenux, Notre Maître Geek à tous.
Ou encore: "comment pourrir sa journée du 2 janvier à envoyer ses voeux"

@Kypris: Si c'est d'un hoax (une chaîne) que tu parles, c'est très mal vu.
Image
Retrouvez ma config à gauche ! (et faites de même).
Avatar de l'utilisateur
w0lverine
PC-Infopraticien
PC-Infopraticien
 
Messages: 7004
Inscription: 01 Mai 2004 13:38
Localisation: Bordeaux [33]
 

Message le 16 Jan 2005 14:57

J'espère comme le dit W0lverine que le but n'est pas d'envoyer du pouriel.
Un simple logiciel de messagerie suffit, tu rentres les adresses des destinataires dans le champ Cci (copie conforme invisible) et le tour est joué.
Avatar de l'utilisateur
georgiou
PC-Infopraticien
PC-Infopraticien
 
Messages: 7202
Inscription: 18 Juin 2003 11:39
 

Message le 16 Jan 2005 15:01

w0lverine a écrit::lol: Glenux, Notre Maître Geek à tous.
Ou encore: "comment pourrir sa journée du 2 janvier à envoyer ses voeux"

@Kypris: Si c'est d'un hoax (une chaîne) que tu parles, c'est très mal vu.


nonon pas du tout, c'est juste pour me permettre de travailler, envoyer des messages à des acheteurs qui me l'ont demandé.
Kypris
Avatar de l'utilisateur
Kypris
Visiteur
Visiteur
 
Messages: 5
Inscription: 01 Jan 2005 22:06
 

Message le 16 Jan 2005 15:49

Ok, au temps pour moi, suis alors la méthode de georgiou.
Image
Retrouvez ma config à gauche ! (et faites de même).
Avatar de l'utilisateur
w0lverine
PC-Infopraticien
PC-Infopraticien
 
Messages: 7004
Inscription: 01 Mai 2004 13:38
Localisation: Bordeaux [33]
 

Message le 16 Jan 2005 16:12

Heu quelques précisions supplémentaires sur le programme :

le fichier aliases.rc contient des adresses sous la forme (pour les personnes):
Code: Tout sélectionner
alias nomDeLAlias Nom Prénom <email.du@destinataire.tld>


et pour les groupes de personnes
Code: Tout sélectionner
alias nomDuGroupe aliasDePersonne1 aliasDePersonne2 aliasDePersonne3 etc...

ou
Code: Tout sélectionner
alias nomDuGroupe aliasDePersonne1
     aliasDePersonne2
     aliasDePersonne3
     etc...


De plus il faut avoir le logiciel mutt installé et correctement configuré pour l'envoi de mail.

Il suffit ensuite de changer la premiere ligne pour la faire pointer sur _votre_ fichier aliases.rc
Avatar de l'utilisateur
glenux
PC-Infopraticien
PC-Infopraticien
 
Messages: 2757
Inscription: 01 Mar 2003 16:22
Localisation: Entre deux BarCamps
 

Message le 16 Jan 2005 17:14

@ glenux

Scotché & admiratif,qu'il est.....le Doyen!!! J'ai du boulot en retard moi.

A+
AtOm.
A+,
AtOM.
Le PC c'est comme la lune,il y a une face cachée.Eclairons-la!!!!
__________________
Avatar de l'utilisateur
Ask to Old Man
Moderateur
Moderateur
 
Messages: 19970
Inscription: 14 Mar 2004 10:06
Localisation: Argenteuil,Val d'Oise
 

Message le 16 Jan 2005 23:45

Merci beaucoup de votre aide, je vais voir ca !
Kypris
Avatar de l'utilisateur
Kypris
Visiteur
Visiteur
 
Messages: 5
Inscription: 01 Jan 2005 22:06
 

Message le 17 Jan 2005 20:22

:lol:

Sacré glenux, mongueur de perl :wink:
I chose this life, This superficial lie, Constant compromise, Endless Sacrifice

Weiter, weiter ins Verderben, Wir müßen leben bis wir sterben
Avatar de l'utilisateur
Stormrider
Expert(e)
Expert(e)
 
Messages: 1637
Inscription: 08 Mai 2004 10:46
Localisation: /Fr/Idf/77/Le Mée
 

Message le 17 Jan 2005 22:51

ca :

Code: Tout sélectionner
#   $g=~s/^.*?s+(.*?@.*?)s+.*?$/$1/;
#   $g=~s/<(.*)>/$1/;



j'adore :wink:
Antec 3700 BQE || Tagan 380W || AMD 2000+ (Arctic Copper Silent 2 R2) || 512 Mo || ATI 9800 Pro (VGA Silencer Rev. 2) || 120mm Antec || 120mm Globefan
Avatar de l'utilisateur
6r
Expert(e)
Expert(e)
 
Messages: 1488
Inscription: 14 Oct 2003 08:26
Localisation: Troyes
 



Sujets similaires

Message orange notification mail
Salut tout le monde lorsque je démarre une fois sur le bureau mon logiciel messagerie orange notification mail me montre des emails "bizarres" (voir la capture écran) soi-disant à ouvrir et lorsque je rentre sur ma boite mail orange fort heureusement ils n'y sont pas mème en indésir ...
Réponses: 4

Message G mail ne fonctionne pas correctement
Bonjour,J'utilise Chrome et la messagerie G mail avec windows 7.Les mails arrivent et partent sans pbs .Mais je ne peux pas les ouvrir , les supprimer .Je peux seulement le faire en ouvrant g mail en navigation privée ou en HTML.J'ai essayé diverses méthodes sans succès.Merci pour votre aide et joye ...
Réponses: 1

Message Comment envoyer une vidéo par mail ?
Bonjour.Je souhaite envoyer par mail une vidéo de présentation d'une durée de 1 mn 40, mais la boîte mail me refuse l'envoie car trop lourd. Y'a t'il un moyen d'envoyer la vidéo en pièce jointe en direct, sans passer par Dropbox ou autre site du genre. Je précise que j'ai comprimé à 2 reprises la vi ...
Réponses: 2

Message [Réglé] reception mail
Bonjour,J'ai du cliquer sur quelque chose qu'il ne fallait pas car depuis 2/3 jours je reçois plein de mail " Postmaster@outlook.com"Je n'utilise pas Outlook.Comment éviter cela?.Cdt
Réponses: 16

Message envois de message en masse en une seule fois sans les choisi
Madame, Monsieur bonsoir.Veuillez m'excuser pour le dérangement.Ma question est celle ci :je cherche à envoyer un texto à tous mes contacts de mon téléphone sans les choisir un par un en une seule fois.Pareil pour Messenger.Auriez vous des idées s'il vous plaît?Merci beaucoup!Bien cordialement.Micka ...
Réponses: 2

Message Connexion yahoo mail avec Firefox
Bonjour à tous,Le problème est le suivant : depuis plusieurs jours, sans que j'aie rien modifié, chaque fois que je veux consulter ma messagerie yahoo, je dois entrer mon adresse mail et mon mot de passe pour m'y connecter.Suis sous Windows 10 Pro version 1903 avec navigateur Firefox à jour.Précisio ...
Réponses: 5

Message boite mail
Bonjour je suis chez orange, la boite mail d'orange est un calvaire, je voudrais crée une nouvelle adresse mail ailleurs (ça ne me pose aucun problème de changer) je ne sais ou aller, pour une boite gratuite, si vous avez une idée ? merci
Réponses: 5


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.