Postfix

Bonjour à tous,

Voilà, j’avais installé avec un tuto postfix-mysql et courier. postfix affichait des messages bizarres dans les logs, mais après test après changement des DNS, j’ai bien retrouvé le message envoyé depuis mon ordi dans le dossier vmail/ … Courier quant à lui, j’ai mis du temps à communiquer avec lui … Vista change automatiquement la communication POP en POPS … au final Courier me renvoyait une erreur.

Bref, j’ai une adresse e-mail sur yahoo, une autre sur mon domaine, mais je laisserai pas ma vie à mon serveur … tout ça pour dire que je n’ai pas tellement confiance au fait de déléguer ce si précieux que sont les mails à mon serveur, d’autant que je me vois mal récupérer des infos par ovh en cas de problème avec mon serveur, si ils les envoient … à mon serveur. En plus, l’installation n’est pas des plus simples, je risque de devenir une cible pour des bots de spam, et je n’ai que … 256 mo de RAM. En plus, j’ai pas besoin de boite mail ^^.

Donc j’ai viré les paquets postfix et dépendances, et courier. Ca soulage.

Je souhaite avoir la possibilité d’envoyer des emails toutefois, depuis PHP, Perl etc (surtout PHP), sans connexion en SMTP à un serveur distant (et op, un mot de passe en moins). J’ai donc réinstallé Postfix en configuration nulle, et je souhaite juste le configurer pour envoyer des mails. Juste ? Pas tout à fait. Sans paramétrer de firewall pour le moment, je voudrais aussi qu’il soit silencieux aux demandes des autres serveurs, qu’il aille pas chercher partout si la boite existe etc. Ou, les deux propositions seront bien, dire à Postfix : Pour telle adresse et telle adresse, tu rediriges vers telle adresse. Sinon, j’ouvrirai une redirection mail chez OVH et je configurerai mes DNS MX pour ^^.

Voilà, mon but est d’installer des choses prioritaires sur mon serveur … ma boite mail de mon nom de domaine actuellement, je m’en sers à peine … et si on doit me contacter, qu’on le fasse à travers un formulaire !

Merci par avance … ;o

C’est faisable de faire de l’envoi uniquement, sans passer par une autre adresse, cependant les antispams peuvent ne pas aimer. De plus, tu ne recevras pas de « failure notice » si ton mail n’a pas pu être transmis.

Il suffit de ne pas indiquer de relayhost dans ta configuration de postfix, et de le faire écouter uniquement sur localhost :

relayhost =
inet_interfaces = 127.0.0.1

Tu auras d’autres petites choses à configurer. La base de la documentation de postfix devrait t’être suffisante pour parvenir à tes fins : postfix.traduc.org/index.php/BAS … EADME.html
N’hésite pas à revenir ici en cas de soucis.

Alors si j’ai bien compris, tu souhaites pouvoir envoyer des mails, ne rien recevoir provenant de l’extérieur mais recevoir sur ton adresse mail chez ton FAI les mails envoyés par des formulaires PHP sur ton ou tes sites web… Et postfix est déjà installé.

Si j’ai bon, voici comment j’avais procédé pour arriver à ce résultat:

  • étant un peu psychorigide :smiley: , cela m’énervait de voir la base ‘aliases’ dans ‘/etc’ et la base ‘canonical’ dans ‘/etc/postfix’, donc:

cp /etc/aliases /etc/postfix/aliases mv /etc/aliases /etc/aliases.original vi /etc/postfix/main.cf
et modifier ces lignes:

alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases

puis relancer postfix pour valider:

postfix reload
  • ensuite il faut reconfigurer postfix:
dpkg-reconfigure postfix

choisir le type d’installation “Système satellite”, choisir en “Nom de courrier” quelque chose comme “mondomaine.local”, indiquer le SMTP de ton FAI comme relais, indiquer l’utilisateur Linux qui recevra les messages à la place de ‘root’ et ‘postmaster’, choisir les domaines reconnus comme locaux (ex : “monserveur.mondomaine.local, localhost.mondomaine.fr, localhost”), choisir de ‘Forcer la mise à jour synchronisée’, ne laisser que '127.0.0.0/8 ’ comme réseau interne, ne pas activer « Procmail », laisser le taille maximale à 0 pour ne fixer aucune limite, laisser le caractère ‘+’ pour désigner les adresses locales, et enfin, activer uniquement le protocoles ipv4
…ouf… :119

  • ensuite gérer la base ‘aliases’ qui redirigera les mails envoyés par exemple à ‘root@localhost’ vers une adresse réelle (c’est là l’astuce pour PHP: le formulaire utilisera ‘root@localhost’ comme destinataire et postfix transférera le mail à l’adresse indiquée

[code]vi /etc/postfix/aliases

See man 5 aliases for format

mailer-daemon: <adresse_destination_connue_du_FAI>
postmaster: <adresse_destination_connue_du_FAI>
nobody: <adresse_destination_connue_du_FAI>
hostmaster: <adresse_destination_connue_du_FAI>
usenet: <adresse_destination_connue_du_FAI>
news: <adresse_destination_connue_du_FAI>
webmaster: <adresse_destination_connue_du_FAI>
www: <adresse_destination_connue_du_FAI>
ftp: <adresse_destination_connue_du_FAI>
abuse: <adresse_destination_connue_du_FAI>
noc: <adresse_destination_connue_du_FAI>
security: <adresse_destination_connue_du_FAI>
root: <adresse_destination_connue_du_FAI>
www-data: <adresse_destination_connue_du_FAI>
proftpd: <adresse_destination_connue_du_FAI>
util_lambda: <adresse_destination_connue_du_FAI>
util_beta: <adresse_destination_connue_du_FAI>[/code]
etc :mrgreen:
et pour valider la modification du fichier:

newaliases
  • tel quel, postfix devrait être capable d’expédier des mail vers l’extérieur mais les mails seront expédiés par root@localhost ou www-data@localhost par exemple et la majorité des FAIs refuseront de distribuer un tel mail. C’est là que la base ‘canonical’ intervient, elle permet de changer l’adresse de l’expéditeur par une adresse réelle acceptable par le FAI:

vi /etc/postfix/canonical root <alias_ou_adresse_origine_connue_du_FAI> www-data <alias_ou_adresse_origine_connue_du_FAI>
etc :mrgreen:
et de valider:

postmap /etc/postfix/canonical
  • reste à fignoler:
vi /etc/postfix/main.cf

pour mettre:

myhostname = mondomaine.local

et ajouter tout à la fin (si elle n’existe pas) la ligne:

sender_canonical_maps = hash:/etc/postfix/canonical

puis éditer le fichier ‘/etc/mailname’ pour y mettre le domaine du fai (et rien d’autre)
et par contre vérifier le fichier ‘/etc/hosts’ pour ne pas laisser le domaine du FAI (à la seconde ligne, à priori)

Et voilà! :dance:

/etc/init.d/postfix restart

Autant en profiter pour indiquer à ‘crontab’ d’envoyer les éventuelles erreurs à ‘root@localhost’ et donc à l’adresse externe indiquée dans la base ‘aliases’ en mettant MAILTO=“root@localhost”…

Je pense avoir fait le tour :smiley:
Bons mails

[J’AI SUPPRIMER CE MESSAGE]

Merci pour vos réponses.

La premiere réponse : la deuxieme ligne, c’est pour isoler le serveur en local ?
La deuxieme réponse : Merci, c’est du beau texte, malheureusement ce n’était pas mon intention ^^

Bon, je réfléchis pas mal et je crois que :

  • Je vais utiliser les DNS OVH pour diriger vers mon serveur. Il faudra absolument que le wildcard fonctionne pour les CNAME car je ne vais pas m’amuser à tout taper à la mimine pour les sous domaines. C’est déjà un serveur en moins à configurer.

  • Je pense garder Postfix en réception de mail. Mais dans un premier temps, je souhaite seulement configurer Postfix pour qu’il redirige les mails envoyés vers lui dont le destinataire est z@yahoo.fr. Ensuite, quand j’aurais le temps, et si (surtout) je le juge nécessaire, je créerai des comptes.

j’essaie virtual_alias_maps mais il me dit qu’il ne trouve pas le .db … donc certainement qu’il faut que je compile qqchose. Mais je ne sais pas globalement si c’est le bon chemin vu que je ne vois aucun @ dans les exemples …

ex :

DNS MX machin.com pointent vers mon serveur
Postfix de mon serveur voit un message destiné à postmaster@machin.com
Il l’envoie vers xx@yahoo.fr, si possible s’assure de son arrivée, et détruit son exemplaire

Si le message n’est pas destiné à postmaster@machin.com, il envoie un message d’erreur à l’expéditeur.

Ouf ! Trouvé et tout simple en plus. Ca fait des heures que je cherche et la solution est … bête. Cependant, je regrette de ne pas totalement comprendre, mais si je ne trouve pas ça illogique, je ne comprends pas tout à fait la logique (étant développeur, c’est génant ;p).

postfix.traduc.org/index.php/VIR … forwarding

Là, il y a toute la redirection ! Même les catch All !!

Je pige pas trop cette histoire de virtual alias, j’avoue que ça me dépasse un peu :blush:

Quand au “beau texte”, pas d’inquiétude, c’était un copier-coller d’un doc que je me suis fait, il a suffit d’un peu de mise en forme… Désolé d’avoir mal compris ton prob :doh:

Bravo pour la solution :clap:

Oui … Entre virtual, alias, domaines, comptes, et tout, moi je suis largué. En fait, j’imaginais un truc simple du genre machin@truc.com => Il connait ou pas. Mais non, il faut d’abord enregistrer le domaine, etc etc.