MISE À JOUR LEOPARD (10.5)
03/11/2007
Leopard est tout propre tout neuf.
Mais, toujours pas de serveur de mail administrable d’office via une interface graphique.
Pas de panique, Postfix est toujours là, est quelques minutes suffirons à lui donner vie.
Cette partie ne va concerner que la dernière mouture de mac os X, la version 10.5
Pour les versions précédentes du sistème, voir en bas de page...
Envoyer ses mails en toute liberté
Quand je me connecte à internet de chez moi avec mon fournisseur d’accès internet qui est aussi mon hébergeur de boîte email, il n’y a pas de problème particulier. Mon compte mail est configuré pour utiliser le serveur de mail de mon fournisseur d’accès (smtp.free.fr, smtp.aol.fr, etc...)
Mais si je me connecte à internet depuis un hotspot wifi, ou depuis chez ma grand-mère ou une amie. Que se passe t’il. Si cet accès internet n’est pas fourni par la même entreprise que chez moi, je ne pourrais pas envoyer mes mails avec mes réglages actuels. Car le serveur de mail du fournisseur d’accès de ma grand-mère ne possède pas le même serveur de mail que celui de mon fournisseur.
L’astuce consiste à utiliser un serveur de mail indépendant de mon fournisseur d’accès internet.
Oui, mais un serveur de mail, ça ne se trouve pas sous une pierre !.
Soit j’utilise un service de mail tel que .mac ou gmail qui ne dépendent pas d’une fournisseur d’accès internet, soit j’utilise mon propre serveur sur mon propre ordinateur portable.
Et c’est là que cette page va vous intéresser...
Activer le serveur d’envoi de mail intégré à mac os 10.5
NOTE
1 problème se pose toutefois avec des serveurs de réception (ceux à qui on envoi notre email) qui n’autorisent que les mails venant de serveurs reconnus, donc, pas le votre puisqu’il est individuel et non répertorié.
Ces serveurs de réception sont au moins club-internet et aol.
Toutefois, il existe une solution. Envoyer les mails à un autre serveur SMTP qui lui, est reconnu sur la place publique et servira de relais. Celui de votre fournisseur d’accès internet par exemple.
A voir plus bas.
MODE D’EMPLOI
Les lignes de commande sont à inscrire l’une après l’autre dans le terminal, puis validées par la touche entrer.
Ne pas copier plusieurs lignes de commandes à la fois, cela ne marchera pas !
Modification du fichier main.cf.
Ici, nous sécurisons le serveur pour éviter que quelqu’un sur votre réseau local ne puisse envoyer des emails via votre ordinateur
Lancez l’application Terminal (dossier Utilitaires du dossier Applications)
Dans une nouvelle fenêtre Terminal, tapez :
sudo pico /private/etc/postfix/main.cf et VALIDEZ
Renseignez votre mot de passe administrateur s’il vous est demandé.
Ici, avec les droits administrateur (sudo), nous modifions le fichier « main.cf » avec l’éditeur de texte « pico », un équivalent de textedit, mais en ligne de commande
Nous allons décommenter (enlever la dièse de début de ligne) la ligne suivante :
#myorigin = $myhostname
qui se trouve à la fin de ce paragraphe
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
myorigin = $myhostname
#myorigin = $mydomain
Ensuite, nous décommentons la ligne :
#mynetworks_style = host qui se trouve ici :
# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of « trusted » SMTP
# clients that have more privileges than « strangers ».
#
# In particular, « trusted » SMTP clients are allowed to relay mail
# through Postfix. See the smtpd_recipient_restrictions parameter
# in file sample-smtpd.cf.
#
# You can specify the list of « trusted » network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix « trusts » SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the « ifconfig » command.
#
# Specify « mynetworks_style = class » when Postfix should « trust » SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don’t do this with a dialup site - it would cause Postfix to « trust »
# your entire provider’s network. Instead, specify an explicit
# mynetworks list by hand, as described below.
#
# Specify « mynetworks_style = host » when Postfix should « trust »
# only the local machine.
#
#mynetworks_style = class
#mynetworks_style = subnet
mynetworks_style = host
Pour que le serveur fasse passer les mails par un serveur « reconnu » afin de ne pas être bloqué par club internet et aol, nous allons aussi ajouter la ligne :
relayhost = serveur d’envoi de mail de votre Fournisseur.d’Acces.Internet (FAI)
Pour se faire, tapez :
Contrôle+ w pour faire une recherche
écrivez : relayhost
Validez (entrer)
Un peu plus bas que la ligne vous affichant le résultat, vous trouverez ceci :
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
Ajoutez le nom du serveur d’envoi de mail de votre fournisseur d’accès.
relayhost = smtp.free.fr (valeur donnée pour Free, smtp.wanadoo.fr pour wanadoo, etc.)
Au final, nous avons :
relayhost = smtp.free.fr
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
Une fois cela fais, on enregistre et on ferme :
Dans le terminal, si le fichier est édité par pico, cela donne :
Ctrl X
y
[Valider]
Voila, vous avez fermé et enregistré le fichier.
Vous pouvez aussi faire ces manipulations directement dans BBedit ou Textwrangler (gratuit). Il vous demandera l’autorisation administrateur à l’enregistrement.
LANCEMENT AU DÉMARRAGE Nous allons maintenant créer un startupitem afin de lancer Postfix au démarrage de la machine.
!!!TOUT SE PASSE DANS LE TERMINAL !!!
je vous suggère de procéder par copier/coller à partir des fichiers joints ci-dessous.
1 : créer le dossier et les fichiers au bon endroit :
Nous nous placons dans le dossier « StartupItems » afin d’y créer le dossier « POSTFIX » (mkdir, comprendre make directory), puis dans ce dernier, nous allons créer les 2 fichiers qui seront par la suite édités : fichier « POSTFIX » et fichier « StartupParameters.plist ».
Dans une fenêtre du terminal :
cd /Library/StartupItems
sudo mkdir POSTFIX
cd POSTFIX
sudo touch POSTFIX
sudo touch StartupParameters.plist
2 : Écrire dans le fichier POSTFIX.
Nous retrouvons notre cher éditeur de texte nommé « pico », executé en tant qu’admin, afin de coller dans le fichier « POSTFIX », le contenu du fichier joint
sudo pico POSTFIX
Copiez/collez le contenu du fichier ci-joint
enregistrez/fermez avec :
CTRL X
Y
ENTRER (touche de validation)
3 : Écrire dans le fichier StartupParameters.plist.
Idem qu’au numéro 2, mais cette fois ci, nous écrivons dans le fichier StartupParameters.plist
sudo pico StartupParameters.plist
Copiez/collez le contenu du fichier ci-joint
enregistrez/fermez avec :
CTRL X
Y
ENTRER (touche de validation)
4 : Attribuer les bons droits et rendre exécutable.
Avec la commande « chgrp » comprendre « Change group », nous attribuons le groupe système « whell » aux fichiers créés et édités précédament
Avec la commande « chmod » executée en tant qu’admin (sudo), nous changeons les droits de lecture/écriture du fichier
chgrp wheel POSTFIX
chgrp wheel StartupParameters.plist
sudo chmod 755 POSTFIX
5 : Ajouter une ligne au fichier hosconfig qui permettra l’activation au démarrage.
Sudo pico /etc/hostconfig
Ajouter la ligne suivante :
POSTFIX=-YES-
enregistrez/fermez avec :
CTRL X
Y
ENTRER (touche de validation)
Voilà.
Pour en profiter tout de suite :
Dans le terminal :
sudo postfix start
Sinon, redémarrez.
Dans le moniteur d’activité, vous devriez voir ceci :
qmgr et pickup gérés pas _postfix
Changement des réglages dans le logiciel d’email
Dans mail, dans les préférences de compte, mettez 127.0.0.1 comme serveur smtp
C’est fini.
Envoyez des mails d’où que vous soyez...
Le nom du serveur est ici : 127.0.0.1
Dans d’autres logiciels de mail (eudora &Co), renseignez ce nom de serveur SMTP (donc 127.0.0.1) dans vos réglages de serveur d’envoi de mail.
En vous souhaitant une joyeuse mobilité...
PS : Un effort pédagogique a été apporté ici afin de permettre à tout un chacun de comprendre les étapes et actions décrites ci-dessus, et les réussir.
Si toutefois vous avez des problèmes :
J’assure un support sans garantie de résultat (via le formulaire de contact), à condition que vous ayez fait un petit tour sur la partie professionnelle de ce site (rubrique « Services » ! :-)
Cette astuce concerne le système Mac, Panther ou Mac os 10.3
< edit >ainsi que le nouveau 10.4, aka Tiger.< /edit 03/05/05>
Au moment où ces lignes ont été écrites, ce fut une exclusivité mondiale.
(au 17/10/2003)
Activer le serveur d’envoi de mail intégré à mac os 10.3. Sous mac os 10.2, ce serveur d’envoi de mail (serveur SMTP) était assuré par le logiciel Sendmail. Depuis Mac os 10.3, c’est Postfix qui a pris le relais.
NOTE
1 problème se pose toutefois avec des serveurs de réception (ceux à qui on envoi notre email) qui n’autorisent que les mails venant de serveurs reconnus, donc, pas le votre puisqu’il est individuel et non répertorié.
Ces serveurs de réception sont au moins club-internet et aol.
Toutefois, il existe une solution. Envoyer les mails à un autre serveur SMTP qui lui, est reconnu sur la place publique et servira de relais. Celui de votre fournisseur d’accès internet par exemple.
A voir plus bas.
Sendmail a été remplacé par Postfix.
Pour notre bonheur me semble t’il.
Sendmail était assez capricieux. Alors que postfix est plus simple à paramétrer et semble plus intégré au système. En effet, nul besoin de l’activer, il s’active au besoin.
Les seules choses à faire seront d’autoriser la fonction SMTP non privée, et de limiter l’usage du serveur SMTP aux usagers locaux de l’ordinateur. Ceci afin d’éviter que d’autres personnes sur le réseau local (wifi par ex) n’envoient des mails via votre ordinateur.
Pour ce faire, c’est très simple, même si cela paraît étrange pour un novice.
Modification du fichier master.cf. Valable uniquement pour Panther
Sur Tiger, sautez cette phase, la modification n’est pas utile
Cherchez (il faut chercher les fichiers visibles et invisibles) et ouvrez (avec BBedit ou pico dans le terminal) le fichier master.cf qui se trouve ici : /private/etc/postfix/
avec pico dans le terminal, cela donne :
sudo pico /private/etc/postfix/master.cf [valider]
entrez votre mot de passe administrateur [valider]
Ça y est. Vous avez ouvert le fichier master.cf dans pico qui est un éditeur de texte via le terminal.
Pour descendre/monter dans la page, utilisez les flèches clavier « haut » et « bas ».
Allons directement aux lignes qui nous intéressent
Dans ce fichier, on trouve la liste des services et leurs config :
# ===========================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# =============================
#smtp inet n - n - - smtpd
#smtps inet n - n - - smtpd
# -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#submission inet n - n - - smtpd
# -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
#628 inet n - n - - qmqpd
pickup fifo n - n - 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n - 1 qmgr
#qmgr fifo n - n - 1 nqmgr
#tlsmgr fifo - - n - 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
flush unix n - n - 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
Décommentez la ligne que j’ai mise en gras en effaçant la dièse « # »
#smtp inet n - n - - smtpd
qui devient
smtp inet n - n - - smtpd
C’est la fonction non privée (n) du service smtp
C’est fini avec ce fichier. Nous allons maintenant enregistrer et fermer le fichier « master.cf » que nous avons modifiés
Dans le terminal, si le fichier est édité par pico, cela donne :
Ctrl X
y
[Valider]
Voila, vous avez fermé et enregistré le fichier.
Modification du fichier main.cf. Valable pour Panther et Tiger
Ici, nous sécurisons le serveur pour éviter que quelqu’un sur votre réseau local ne puisse envoyer des emails via votre ordinateur
Nous allons maintenant faire une procédure identique, mais avec le fichier main.cf
Dans une nouvelle fenêtre Terminal, tapez :
sudo pico /private/etc/postfix/main.cf et VALIDEZ
Renseignez votre mot de passe administrateur s’il vous est demandé.
Nous allons décommenter (enlever la dièse de début de ligne) la ligne suivante :
#myorigin = $myhostname
qui se trouve à la fin de ce paragraphe
# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites. If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
myorigin = $myhostname
#myorigin = $mydomain
Ensuite, nous décommentons la ligne :
#mynetworks_style = host qui se trouve ici :
# TRUST AND RELAY CONTROL
# The mynetworks parameter specifies the list of « trusted » SMTP
# clients that have more privileges than « strangers ».
#
# In particular, « trusted » SMTP clients are allowed to relay mail
# through Postfix. See the smtpd_recipient_restrictions parameter
# in file sample-smtpd.cf.
#
# You can specify the list of « trusted » network addresses by hand
# or you can let Postfix do it for you (which is the default).
#
# By default (mynetworks_style = subnet), Postfix « trusts » SMTP
# clients in the same IP subnetworks as the local machine.
# On Linux, this does works correctly only with interfaces specified
# with the « ifconfig » command.
#
# Specify « mynetworks_style = class » when Postfix should « trust » SMTP
# clients in the same IP class A/B/C networks as the local machine.
# Don’t do this with a dialup site - it would cause Postfix to « trust »
# your entire provider’s network. Instead, specify an explicit
# mynetworks list by hand, as described below.
#
# Specify « mynetworks_style = host » when Postfix should « trust »
# only the local machine.
#
#mynetworks_style = class
#mynetworks_style = subnet
mynetworks_style = host
Pour que le serveur fasse passer les mails par un serveur « reconnu » afin de ne pas être bloqué par club internet et aol, nous allons aussi ajouter la ligne :
relayhost = serveur d’envoi de mail de votre F.A.I
Pour se faire, tapez :
Contrôle+ w pour faire une recherche
écrivez : relayhost
Validez (entrer)
Un peu plus bas que la ligne vous affichant le résultat, vous trouverez ceci :
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
Ajoutez le nom du serveur d’envoi de mail de votre fournisseur d’accès.
relayhost = smtp.free.fr (valeur donnée pour Free, smtp.wanadoo.fr pour wanadoo, etc.)
Au final, nous avons :
relayhost = smtp.free.fr
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
Une fois cela fais, on enregistre et on ferme :
Dans le terminal, si le fichier est édité par pico, cela donne :
Ctrl X
y
[Valider]
Voila, vous avez fermé et enregistré le fichier.
Vous pouvez aussi faire ces manipulations directement dans BBedit ou Textwrangler (gratuit). Il vous demandera l’autorisation administrateur à l’enregistrement.
Dans Tiger (et uniquement dans Tiger)
Postfix ne démarre pas automatiquement avec l’ordinateur.
Pour y remédier, dans le terminal rentrez les lignes suivantes :
sudo -s (entrée)
Renseignez à l’aveugle votre mot de passe administrateur (entrée)
echo « /usr/sbin/postfix start » >>/etc/rc.local (entrée)
Ici, nous créons un fichier rc.local qui contient la commande /usr/sbin/postfix start
FIN de la Partie uniquement pour Tiger
Ensuite, dans une nouvelle fenêtre du terminal nous allons relancer postfix en lui demandant de recharger les paramètres que nous avons modifiés
“sudo postfix reload”
si postfix était arrêté,
faites auparavant un
“sudo postfix start”
Changement des réglages dans le logiciel d’email
Dans mail, dans les préférences de compte, mettez 127.0.0.1 comme serveur smtp
C’est fini.
Envoyez des mails d’où que vous soyez...
NOTE Panther uniquement
Il peut arriver sur certaines machines, que postfix ne démarre pas au besoin.
Dans ce cas, il faut forcer postfix à être toujours démarré.
Voici comment
Dans le terminal, tapez
sudo pico /private/etc/hostconfig et Validez
Entrez votre mot de passe administrateur
Descendez jusqu’à la ligne : MAILSERVER=-AUTOMATIC-
Modifiez-la par MAILSERVER=-YES-
Voila, enregistrez, fermez
Control X
Y
Valider



