Configuration smtp

Bonjour,

Je cherche à configurer au mieux le serveur SMTP pour l’envoi de message par l’application paheko.
Avec l’objectif d’envoyer des messages en “masse” (reçus fiscaux).
L’envoi de message fonctionne mais pas pour toutes les messageries, les boites gmail ne reçoivent même pas le message dans les spams !

La raison, je n’ai pour l’instant pas la main sur un nom de domaine (L’asso est lente à prendre une decision) et je passe par une “url.ynh.fr”, j’ai donc, comme la documentation l’indique, un sous domaine paheko.url.ynh.fr.

J’ai donc fait un test spam chez mail-tester
Comme je m’y attendais, j’ai un score de 2,5/10.

Ce qui n’est pas le cas pour les messages envoyés pour un utilisateur par roundcubes avec pour configuration le serveur de messagerie sur url.ynh.fr. 9/10 (Le dkim ne pouvant pas être configuré sur les adresses en url⋅ynh⋅fr)

Par là, j’essaie de modifier la configuration smtp de paheko pour utiliser le serveur mail configuré en retirant les “paheko” de url.ynh.fr ; mais aucun message n’arrive sur une boite mail, je ne sais pas si les messages partent, je n’ai pas d’erreur dans les logs de paheko.

(désolé, je n’ai pas le droit d’envoyer plus de 5 liens … donc je remplace le . par un point median)
Ma configuration paheko donne ceci (Comparaison avec l’original):

const SMTP_HOST = ‘paheko⋅url⋅ynh.fr’;

const SMTP_HOST = ‘url⋅ynh⋅fr’;

const SMTP_USER = ‘paheko’;
const SMTP_PASSWORD = ‘xxxxxxxxxxxxxxxxxxxxxxx’;

const SMTP_HELO_HOSTNAME = ‘paheko⋅url⋅ynh⋅fr’;

const SMTP_HELO_HOSTNAME = ‘url⋅ynh⋅fr’;

const MAIL_RETURN_PATH = ‘paheko@paheko⋅url⋅ynh⋅fr’;

const MAIL_RETURN_PATH = ‘paheko@url⋅ynh⋅fr’;

const MAIL_SENDER = ‘paheko@paheko⋅url⋅ynh⋅fr’;

const MAIL_SENDER = ‘paheko@url⋅ynh⋅fr’;

Par là, deux choses :
J’ai donc des difficultés pour bien configurer les paramètres concernant le serveur SMTP.
Est-ce que vous avez déjà rencontré ce problème, qu’est ce que je peux faire ?

Dans un deuxième temps, je suis obligé de modifier le fichier /var/www/paheko/config.local.php ; ce que je n’ai théoriquement pas le droit de faire puisqu’il y a le fichier /home/yunohost.app/paheko/data/config.user.local.php. Mais ces constantes, sont configurées dans le premier fichier et pas dans le deuxième.
Donc, pour ce deuxième point, est-ce prévu de transférer toute la configuration de paheko vers /home/yunohost.app/paheko/data/config.user.local.php ?

Merci pour votre aide.

Pierre

Bonjour,
vous êtes plusieurs utilisateurs a avoir eu des besoins différents avec la configuration mail, pas facile de trouver le bon compromis…

Je suis en train d’essayer d’adapter le code pour déplacer la configuration mail dans le dossier /home/paheko/config.local.user.php, les mises à jour vont écraser les changements dans le dossier config.local.php.

Peut-être que tu devrais essayer cette méthode

Je doute que soit l’idéal, car l’installation a créé un user paheko et des règles postfix dans

grep -r paheko /etc/postfix/
grep: /etc/postfix/sni.db: binary file matches
/etc/postfix/sni:paheko.yunohost.packaging /etc/yunohost/certs/paheko.yunohost.packaging/key.pem /etc/yunohost/certs/paheko.yunohost.packaging/crt.pem
/etc/postfix/app_senders_login_maps:paheko@paheko.yunohost.packaging paheko
grep: /etc/postfix/app_senders_login_maps.db: binary file matches

Le but est justement de permettre à l’application de ne pas être spammée et ne pas utiliser le mail php(), l’utilisateur admin de application peut ne pas être un user yunohost.

La méthode proposé est de désactivé le smtp au profit de php_mail SMTP_HOST = false; comme indiqué dans la config de paheko.
Je ne pense pas que ce soit la meilleure des méthodes, surtout quand yunohost propose un chouette serveur de messagerie et comme tu le dis évite à l’application d’être spammer.

Ce que j’aimerai faire, c’est, avoir l’user paheko avec une adresse mail en paheko@domain.tld et non en paheko@paheko.domain.tld.
Cela éviterai de gérer une deuxième configuration spf, dkim, mx sur le domaine paheko.domain.tld.
Surtout que dans mon cas, avec une adresse dyndns ce n’est pas possible.

Cependant, je ne sais pas comment sont gérés les utilisateurs sur yunohost, mais quand j’en créé un, j’ai une adresse mail en user@domain.tld. Est-ce que ce serait possible avec l’user paheko ?
Tout en gardant la possibilité d’installer paheko sur son domain ?
Cela, simplifierai peut-être les problématiques de messagerie en générale.

Je lis de la doc et comprend progressivement le fonctionnement de yunohost.
J’essaie de trouver le script qui créé les règles postfix pour mieux comprendre la problématique.
Voir créer l’adresse paheko@domain.tld par moi même avec un mot de passe pour se connecter au serveur smtp.
Je continue mes recherches

Sinon, c’est une solution temporaire qui fonctionne.
Mes messages arrivent sur les boites gmail et non dans les spams.

Par contre, j’ai fait la liste des crons, il n’y avait aucune règle existante.
J’ai créé les règles cron comme indiqués dans l’aide de paheko.

crontab -e -u paheko

@daily php /var/www/paheko/scripts/cron.php

          • php /var/www/paheko/scripts/emails.php

Pourtant la règle existe dans le fichier de conf de paheko

const USE_CRON = true;

Est-ce que c’est voulu ? ou un oublie ?

Le cron existe normalement avec l’installation, il est créer dans dans le fichier /etc/cron.d/paheko il appartient à l’utilisateur root, je ne crois pas qu’il faille en ajouter un, surtout que celui que tu as écris n’est pas bon, supprimes-le…

cat /etc/cron.d/paheko
@daily paheko /usr/bin/php8.2 /var/www/paheko/scripts/cron.php
* * * * * paheko /usr/bin/php8.2 /var/www/paheko/scripts/emails.php

L’user paheko est un utilisateur pour l’app qui doit être avec le domaine où est créer l’app et de malheureusement si l’utilisateur est sur le domaine principal, cela avait créer des erreurs, pour que ça fonctionne il fallait que l’application ai un domaine propre.

# grep paheko /etc/passwd
paheko__2:x:978:978::/var/www/paheko__2:/usr/sbin/nologin
paheko:x:986:986::/var/www/paheko:/bin/sh

Ce n’est pas un user comme les utilisateurs de Yunohost, mais bien une application. paheko utilise que le smtp (comme plusieurs applications), yunohost gère cela avec une règle ici.

Par contre en effet il faut tout de même ajouter les règles spf, dkim, mx sur le domaine paheko.domain.tld. Pourquoi il y aurait un problème pour ajouter des règles même si tu es en dydns ?? le dydns ne peux pas pointer sur des sous-domaines ?

Ok, j’ai supprimé les règles crons que j’avais créé.

Pour le sous domaine en dyndns. Je n’ai pas la main pour modifier les règles spf, dkim et mx.
Et donc j’ai un score de 2,5 sur mail tester… avec l’adresse paheko@paheko.domain.ynh.fr
Et donc certain envoie de messages n’arrivent pas dans certaines boites mails, gmail en particulier, même pas en spam.
Yunohost ne proposant que le mx et le reste sur le premier niveau de domaine.
Ou alors j’ai raté quelque chose …

En configurant le smtp comme vous me l’avez donné plus haut, j’arrive à 9/10 (Le DKIM n’est pas configurable sur les adresses ynh.fr)
Et donc les messages arrive dans toutes les boites mails.

Le problème, étant que ma config actuelle utilise php_mail…

Ce n’est pas vieux cette configuration, avant elle utilisait php_mail et j’ai pu m’en servir pendant quelques années, mais les envois mail étaient rares…
Ce qu’il faudrait débloquer pour ce cas d’usage, c’est la possibilité d’installer sur le domaine principal avec donc sur /path, malheureusement ça ne marchait pas avec cette configuration…
Il y a sûrement des améliorations à trouver…

Comment peux-tu tester mailtester ? Tu as créer un user paheko@paheko.domain.tld ?

Bon, je confirme, en en l’état le SPF n’est mis que sur le domaine racine, pas les sous-domaine… :sob:
La solution serait de prendre un nom de domaine… ou de continuer comme cela…

Je n’ai pas créé manuelement d’user paheko.
Il s’est sans doute créé lors de l’installation de paheko que j’ai installé sur le domaine paheko.domain.ynh.fr que j’ai préalablement créé.

Ensuite pour mail-tester.com :

Oui, et vivement que l’asso se decide enfin pour l’achat d’un nom de domaine.

Alors pour l’instant j’utilise une autre adresse créée avec un user complet sur yunohost.

Je pense qu’il me manque un mot de passe uniquement pour le smtp de cet utilisateur pour avoir quasiment la meme configuration d’envoi que proposé.
Mais je ne sais pas comment le créer.

En plus j’ai trouvé dans l’interface de yunohost comment forwarder les messages vers l’adresse mail de paheko, ce qui permettra à l’application d’analyser les messages.

Du coup ta configuration est bien

SMTP_HOST = false;
const SMTP_HOST = ‘url⋅ynh⋅fr’;
const SMTP_USER = ‘paheko’;
const SMTP_PASSWORD = ‘xxxxxxxxxxxxxxxxxxxxxxx’;
const SMTP_HELO_HOSTNAME = ‘url⋅ynh⋅fr’;
const MAIL_RETURN_PATH = ‘paheko@url⋅ynh⋅fr’;
const MAIL_SENDER = ‘paheko@url⋅ynh⋅fr’;

et pour les SMTP_PORT et SMTP_SECURITY ??

Je n’ai pas d’éxpéditeur paheko@paheko.domain.tld pour l’envoi, le choix est pour l’expéditeur le mail de l’administrateur ou celui de l’association, mais aucun n’ont un mail en [at] paheko.domain.tld
Par contre merci pour l’astuce, je n’y avait pas penser.

Sur une autre instance paheko, j’avais un utilisateur monuser@domain.tld, bref les 2 ont eu 9/10

Chez moi j’ai :

const SMTP_HOST = false; (Utilise la fonction php mail)
const SMTP_USER = ‘paheko’; (donc l’user créé à l’installation de paheko)
const SMTP_PASSWORD = ‘XXX’ (mdp créé à l’installation de paheko)
const SMTP_HELO_HOSTNAME = null; (donc le premier nom du virtual host soit domain.ynh.fr)
const MAIL_RETURN_PATH = ‘user@domain.ynh.fr’; (Le mail d’un user que j’ai créé pour l’asso)
const MAIL_SENDER = null; (donc l’adresse mail rentré dans le panneau configuration de l’asso sous paheko, soit le même que l’user ci-dessus, qui n’est actuellement pas l’adresse de l’asso… qui elle est en gmail.com)

const SMTP_PORT = 25;
const SMTP_SECURITY = ‘STARTTLS’;

port 25 ?
Pourtant quand je regarde les details d’un envoi, le mail a été chiffré.
Gmail me dit : Chiffrement standard (TLS)

Alors, il serait peut être bien d’utiliser les serveur smtp de gmail pour utiliser l’adresse de l’asso, mais il serait bon d’enfin se passer des gafam.
Je pousse en ce sens, et essai de configurer paheko pour que presque tout passe par là, j’en suis a essayé de faire fonctionner collabora pour les documents)

Pour l’adresse de messagerie créé à l’installation de paheko soit paheko@domain et donc chez moi cela correspond au sous domain que j’ai créé, paheko.domain.ynh.fr, n’est t’il pas possible de créer cette adresse sur domain.ynh.fr ? Quelque soit le domain ou sous domain utilisé ?

En fait l’adresse mail de l’asso n’est pas utilisée pour les envois smtp de toute manière… Elle va juste être utilisée dans le Reply-To:, logique par ailleurs.

Je ne pense pas, c’est les configurations faîtes avec yunohost avec la propriété allow_email

allow_email: (default: False) Enable authentication on the mail stack for the system user and send mail using APP@DOMAIN. A mail_pwd setting is automatically defined (similar to db_pwd for databases). You can then configure the app to use APP and MAIL_PWD as SMTP credentials (with host 127.0.0.1). You can also tweak the user-part of the domain-part of the email used by manually defining a custom setting mail_user or mail_domain

Le code python executer devrait être celui-ci