User Tools

Site Tools


serveurs:mailman

Mailman

SME 6

- SME 6 c'est sur arcticle sur apo33 raccorps

Mailman sur SME 7

la ou telecharger les contribution pour SME 7

  • Ajoutez une entree au DNS de votre provider juste pour la gestion des listes, par exemple chez gandi.net j’ai pour mon domaine
    www                  28800 IN A xxx.xxx.xxx.xxx
    lists                28800 IN A xxx.xxx.xxx.xxx
    @                    28800 IN A xxx.xxx.xxx.xxx
    @                    28800 IN MX 0 mondomaine.org. 

evidement xxx c’est l’adresse ip de mon serveur …

  • Ajoutez un domaine virtuel dans e-smith-manager en accord avec celui donne a votre provider , “lists.yourdomain.com”
  • Recuperez et installez les codes
cd /tmp
mkdir mailm
cd mailm
wget http://www.ergin.dyndns.org/download/RPMS/contribs/mailman/mailman.README.txt
wget http://www.ergin.dyndns.org/download/RPMS/contribs/mailman/e-smith-mailman-1.1.10-01.noarch.rpm
wget http://www.ergin.dyndns.org/download/RPMS/contribs/mailman/mhonarc-2.6.8-1.noarch.rpm
#wget http://www.ergin.dyndns.org/download/RPMS/contribs/mailman/htdig-3.1.6-6.i386.rpm
wget http://www.ergin.dyndns.org/download/RPMS/contribs/mailman/mailman-2.1.5-23es02.i386.rpm
 
yum install htdig
ln -s /usr/bin/HtFileType /opt/mailman/bin
ln -s /usr/bin/htdb_dump /opt/mailman/bin
ln -s /usr/bin/htdb_load /opt/mailman/bin
ln -s /usr/bin/htdb_stat /opt/mailman/bin
ln -s /usr/bin/htdig /opt/mailman/bin
ln -s /usr/bin/htdump /opt/mailman/bin
ln -s /usr/bin/htfuzzy /opt/mailman/bin
ln -s /usr/bin/htload /opt/mailman/bin
ln -s /usr/bin/htmerge /opt/mailman/bin
ln -s /usr/bin/htnotify /opt/mailman/bin
ln -s /usr/bin/htpurge /opt/mailman/bin
ln -s /usr/bin/htsearch /opt/mailman/bin
ln -s /usr/bin/htstat /opt/mailman/bin
ln -s /usr/bin/rundig /opt/mailman/bin
rpm -i mhonarc-2.6.8-1.noarch.rpm
rpm -i mailman-2.1.5-23es02.i386.rpm  e-smith-mailman-1.1.10-01.noarch.rpm  
 
 
  • Mettez a jour le mot de passe de mailman et ajour le fichier de config
/opt/mailman/bin/mmsitepass
vi /opt/mailman/Mailman/mm_cfg.py
   Ca ressemblera à ceci :
# "add_virtualhost(urlfqdn, emailfqdn)" to add new mappings.

DEFAULT_URL_HOST   = 'lists.mondomaine.org'
DEFAULT_EMAIL_HOST = 'lists.mondomaine.org'

# Because we've overriden the virtual hosts above add_virtualhost
# MUST be called after they have been defined.

add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
add_virtualhost('lists.mondomaine2babels.org', 'lists.mondomaine2babels.org')
  • Creation de la liste par defaut
cd /opt/mailman/bin
./newlist
  • Voila c’est presque fini

Commencez avec la page http://lists.yourdomain.com/mailman et accedez à la page d’administration sur http://lists.yourdomain.com/mailman/admin/mailman

 Vous avez aussi dans le menu du server-manager une nouvelle ligne pour mailman

il 'semble' que le script mailman-addlist et autres ne soient plus a jour, la base db e-smith a changee de repertoire, et sans doute de structure … du coup la page de creation de la liste retourne une erreure, mais la liste a bien ete cree ..

sinon c'est la partie qmail qui n'est pas mise a jour, le fichier /var/qmail/users/assign peut etre mis a jour a la main en ajoutant des lignes

=apodio:mailman:41:41:/opt/mailman/aliases:-:apodio:
+apodio-:mailman:41:41:/opt/mailman/aliases:-apodio-::

et valide par /var/qmail/bin/qmail-newu le fichier /var/qmail/control/local me semble aussi manquer d'une ligne concernant le domaine seul . et puis du coup il faut parametrer cette partie a la main .. attendre donc une maj de e-smith-mailman ;-) http://www.culte.org/projets/doc/qmail/v0.4/c04.html#LOCALS

customisation possible

Pour autoriser les créateurs / admin de listes à plus d’actions , éditer le fichier : /opt/mailman/Mailman/Defaults.py

et modifiez :

OWNERS_CAN_DELETE_THEIR_OWN_LISTS = Yes
OWNERS_CAN_ENABLE_PERSONALIZATION = Yes

pour ne pas utiliser le “lists.yourdomain.com” un document sur chaloner.ca qui dit, en gros,

arretez le service mailman par

service mailman stop

vi /etc/e-smith/templates/opt/mailman/Mailman/mm_cfg.py/40hostname 

pour modifier les deux lignes

# DEFAULT_URL_HOST = 'lists.{ $DomainName }' 
# DEFAULT_EMAIL_HOST = 'lists.{ $DomainName }' 

#en

DEFAULT_URL_HOST = '{ $DomainName }' 
DEFAULT_EMAIL_HOST = '{ $DomainName }' 

puis la prise en compte par sme

/sbin/e-smith/expand-template /opt/mailman/Mailman/mm_cfg.py 

et relancer le service

service mailman start

une page web pour s’enregistrer

Le code php pour un acces à la list tire de mailman et php

I use the following code to call a form that sends the appropriate subscribe or unsubscribe request to the list manager.
 
Enter your name and email address to <b>subscribe</b> to our <a href="http://www.gnu.org/software/mailman/index.html" target="_blank">Mailman</a> powered mailing list. For further information on out mailing list, <a href="http://www.chaloner.ca/mailing.php"><b>click here</b></a>.
<form method=post action="http://www.chaloner.ca/subscribe.php">
<center>Your Name:</center>
<input name="name" type="text"><br>
<center>Your Email:</center>
<input name="email" type="text"><br>
<center><input type=submit value="Subscribe"></center>
</form>
To <b>unsubscribe</b> from our mailing list, enter your email address below.
<form method=post action="http://www.chaloner.ca/unsubscribe.php">
<center>Your Email:</center>
<input name="email" type="text"><br>
<center><input type=submit value="Unsubscribe"></center>
</form>

The form calls the following code to do the actual email validation and subscribing to the list manager.

<?php
$email = trim($HTTP_POST_VARS['email']);
$name = $HTTP_POST_VARS['name'];
 
if ($email != "")
{
if (validate_email($email)) {
mail ( "want-to-buy-request@chaloner.ca", "subscribe", "", "From: " . $name . "<" . $email . ">" );
?>
Your request to subscribe email address <b><?php print $email;?></b> has been sent to the list manager. You will receive an email confirmation that you must reply to in order to confirm your subscription request. If you do not reply to the email, no action will be taken, and you will not be subscribed.<br>
<?php
}
else
{
?>You must supply a valid email address. The list manager cannot proceed with an invalid email address. Please try again.<br>
<?php
}
}
else
{
?>I cannot process an empty email address. You must supply a valid email address in order to subscribe. Please try again.<br>
<?php
}
?>
<br><br>
Thank You,<br>
<br>
<a href="mailto:Chaloner Hale <email@chaloner.ca>">Chaloner Hale</a>
 
<?php
 
There are a many email validation routines that you can find on the web. If you want a copy of the one I call, just drop us a line. 

cas d’hebergement de plusieurs dommaines, domaine virtuel et listes associees

Apres avoir fait la création à travers l’interface e-smith-manager , des autres domaines virtuels, ce qui autorise la réception des mèls sur ces domaines, il faut juste modifier le fichier

/opt/mailman/Mailman/mm_cfg.py

et par exemple y mettre, pour 2 autre domaines virtuel 1 et 2 en plus du principal :

DEFAULT_URL_HOST = 'lists.domaine_principal.org'
DEFAULT_EMAIL_HOST = 'lists.domaine_principal.org'

# Because we've overriden the virtual hosts above add_virtualhost
# MUST be called after they have been defined.

add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
add_virtualhost('domaine_virtuel_1.org', 'domaine_virtuel_1.org')
add_virtualhost('domaine_virtuel_2.org', 'domaine_virtuel_2.org')

vous pouvez créer les listes en allant dans /opt/mailman/bin

cd /opt/mailman/bin ./newlist ma-mailing-list1@domaine_virtuel_1.org

en précisant le domaine à la création.

Ou en allant sur la page http://domaine_virtuel_1/mailman/admin , ATTENTION la maniere dont vous écrivez l’adresse nommera la liste, si vous ecrivez http://domaine_virtuel_a_toto/mailman/ cela vous faira travailler sur les listes xxx@domaine_virtuel_a_toto

Il faut aussi faire un lien symbolique de l’endroit des archives sur un répertoire vu par le serveur web apache, c’est à dire , créer un ibay ’archives’ accessible par tous, et faire
ln -s /opt/mailman/archive/publique /home/e-smith/files/ibays/archives/html/publique 

Autres options

Des options pas forcément accéssibles par la page d’administration de mailman sont modifiables en ligne de commande.

récupérer les paramètres :

cd /opt/mailman/bin ./config_list -o /tmp/listatoto.conf listatoto

modifier les parametres :

pico /tmp/listatoto.conf

enregistrer les parametres :

./config_list -i /tmp/listatoto.conf listatoto

pensez à faire un ls vous verez les commandes suivantes

add_members   config_list  genaliases    msgfmt.py       show_qfiles
arch          convert.py   inject        msgfmt.pyc      smelist
b4b5-archfix  convert.pyc  list_admins   newlist         sync_members
change_pw     discard      list_lists    paths.py        transcheck
check_db      dumpdb       list_members  paths.pyc       unshunt
check_perms   find_member  list_owners   qrunner         update
cleanarch     fix_url.py   mailmanctl    remove_members  version
clone_member  fix_url.pyc  mmsitepass    rmlist          withlist

et comme d’habitude, ./config_list —help pour l’usage de la commande ici config_list.

Petits trucs

  • problemes avec AOL, les serveurs AOL n’accepte pas de router les messages venant de serveur personnel :(, solution faire la modif suivante :
pico /var/qmail/control/smtproutes

mettre :

.aol.com :smtp.free.fr ou l’adresse du serveur smtp de votre FAI

relancer qmail par service qmail restart

et copier le fichier pour l’enregistrer dans les templates </ode> echo “.aol.com :smtp.free.fr” » /etc/e-smith/templates/var/qmail/control/smtproutes/30AOLroute </code>

  • Voir les traitements de qmail par tail -f /var/log/qmail/current
qmHandle est un outils assez pratique pour suivres et faire quelques manipulations sur les queues des traitements de qmail.
cd /tmp
wget http://contribs.org/contribs/saco/contrib/e-smith-qmHandle/e-smith-qmHandle-1.0.0-7.noarch.rpm
rpm -Uvh e-smith-qmHandle-*.rpm
  • Autres petits trucs
a o l ou t i scali refuse de transmetre les messages venant de serveur personnel :(

solution : dans le /var/qmail/control/smtproutes mettre : aol.com :smtp.free.fr ou le smtp de votre FAI

mkdir -p /etc/e-smith/templates-custom/var/qmail/control/smtproutes/ 
cd /etc/e-smith/templates-custom/var/qmail/control/smtproutes/ 
# sample script for free reverse-dns 
echo "tiscali.fr:smtp.free.fr" >./60Tiscali 
echo "aol.com:smtp.free.fr" >./61AOL
/sbin/e-smith/expand-template /var/qmail/control/smtproutes 
/sbin/service qmail restart
serveurs/mailman.txt · Last modified: 2015/08/30 22:55 (external edit)