Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Comment smtp server constants from default config file #55

Open
wants to merge 1 commit into
base: testing
Choose a base branch
from

Conversation

16arpi
Copy link

@16arpi 16arpi commented Apr 5, 2024

Problem

Le fichier config.local.php a des constantes non commentées, ce qui empêche de les modifier dans config.local.user.php. N'étant pas vraiment familier du PHP, peut-être je suis passé à côté d'une manière de les modifier...

Solution

La PR propose de commenter toutes les constantes liées à l'envoi de mails dans le fichier config.local.php

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

La configuration ne vous a pas convenu ? Quelle configuration a mieux fonctionné pour vous ?

Peut-être aussi qu'il est possible d'ajouter celle par défaut dans le fichier config.local.user.php avec des explications...

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Par contre,
ce n'est pas une bonne pratique de vouloir proposer un changement sur la branche master...
Il faudrait pour commencer par le proposer sur la branche testing et changer son tag de version

version = "1.3.6~ynh2"

avec
version en "1.3.6~ynh3"

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Tu veux que j'ouvre un autre PR avec cette proposition qu'il faudra tester avant ?
Je serais plutôt d'accord pour déplacer les configurations mail dans le fichier config..local.user.php sans les commenter par défaut.

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Autre gros soucis dans ce genre de bouleversement, les changements vont faire perdre la configuration mail a certains utilisateurs sans qu'ils ne comprennent pourquoi...

@16arpi
Copy link
Author

16arpi commented Apr 6, 2024

Dsl pour la PR mal ficelée et orientée, je note la procédure pour la prochaine fois! Oui carrément pour migrer les constantes vers config.local.user.php, l'important est que l'utilisateur puisse les modifier donc ça serait le plus approprié.

Et pour répondre à ta question, on utilise un serveur d'envoi externe (smtp gmail) pour nos mails. Pour plein de raisons on souhaite pas passer par Yunohost pour nos mails.

Du coup je te laisse faire ? Ou je fais une nouvelle PR vers la branche testing ?

Merci!

@3fla1416
Copy link

3fla1416 commented Apr 6, 2024

Bonjour,
J'approuve entièrement d'avoir l'ensemble de la configuration dans le fichier config.local.user.php.
Je suis aussi en train de modifier les valeurs SMTP en raison de problème de note très basse sur les spam test et empêche la bonne réception des messages sur gmail par exemple. (Je n'ai pas encore réussi ...)
Et je suis donc obligé de modifier le fichier de config.local.php qui sera écrasé à la prochaine update.
Pierre

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Je suis en train de travailler sur la branche testing... Plusieurs choses à prendre en compte.

  • Sauvegarder le fichier config.local.user.php, pour garder une trace, le renommer en config.local.user.php.old et que cette condition ne soit que pour les anciennes versions !! Mon soucis ici est que sur d'anciennes versions le dossier utilisateur n'existait pas, ça risque de causer des problèmes.
  • J'ajouterai que les configurations liés au mail en plus dans le fichier config.local.user.php, le fichier config.local.php doit rester là où il est et dois continuer à être une copie du fichier config.dist.php avec les valeur actuelles il me semble.

C'est difficile de penser à tous les cas de figures des anciennes versions suivant les utilisateurs et des impacts de leur changements. Comme beaucoup d'utilisateurs un peu avancés, j'édite des fichiers à chaque mise à jour pour des configs persos sur certaines apps ou bien utilise des hooks (https://forum.yunohost.org/t/share-your-hooks-to-apply-custom-configurations-partagez-vos-hooks-pour-appliquer-des-configurations-personnelles/17235). Mais force est de constater que pour cette application c'est mieux de pouvoir éditer la config des mails.

Pout on cas spécifique tu devrais désactiver radicalement les mails avec const DISABLE_EMAIL = true;

/**
 * Désactiver l'envoi d'e-mails
 *
 * Si positionné à TRUE, l'envoi d'e-mail ne sera pas proposé, et il ne sera
 * pas non plus possible de récupérer un mot de passe perdu.
 * Les parties de l'interface relatives à l'envoi d'e-mail seront cachées.
 *
 * Ce réglage est utilisé pour la version autonome sous Windows, car Windows
 * ne permet pas l'envoi d'e-mails.
 *
 * Défaut : false
 * @var bool
 */

//const DISABLE_EMAIL = false;

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Dsl pour la PR mal ficelée et orientée, je note la procédure pour la prochaine fois! Oui carrément pour migrer les constantes vers config.local.user.php, l'important est que l'utilisateur puisse les modifier donc ça serait le plus approprié.

Et pour répondre à ta question, on utilise un serveur d'envoi externe (smtp gmail) pour nos mails. Pour plein de raisons on souhaite pas passer par Yunohost pour nos mails.

Du coup je te laisse faire ? Ou je fais une nouvelle PR vers la branche testing ?

Merci!

Par contre là il s'agit encore d'une autre configuration, vous voulez configurer un relai avec le smtp de gmail ? Là je ne sais pas comment sont gérer dans le core de Yunohost les envois des apps quand est configurés avec en plus un relai smtp.

Vous me direz...

@rodinux rodinux mentioned this pull request Apr 6, 2024
2 tasks
@16arpi
Copy link
Author

16arpi commented Apr 6, 2024

Dsl pour la PR mal ficelée et orientée, je note la procédure pour la prochaine fois! Oui carrément pour migrer les constantes vers config.local.user.php, l'important est que l'utilisateur puisse les modifier donc ça serait le plus approprié.

Et pour répondre à ta question, on utilise un serveur d'envoi externe (smtp gmail) pour nos mails. Pour plein de raisons on souhaite pas passer par Yunohost pour nos mails.

Du coup je te laisse faire ? Ou je fais une nouvelle PR vers la branche testing ?

Merci!

Par contre là il s'agit encore d'une autre configuration, vous voulez configurer un relai avec le smtp de gmail ? Là je ne sais pas comment sont gérer dans le core de Yunohost les envois des apps quand est configurés avec en plus un relai smtp.

Vous me direz...

Il n'est pas question chez nous d'utiliser le relai smtp, on a une adresse gmail et on l'utilise pour nos envois automatiques de mails dans Paheko. On utilise littéralement le serveur smtp.gmail.com. Ça nous évite de configurer de serveur smtp sur yunohost.

De manière plus générale, il faudrait à terme pouvoir modifier toutes les constantes de configuration de paheko depuis config.local.user.php (dans l'idéal). Après tu nous diras si c'est compatible avec de vieilles implémentations de Paheko dans yunohost.

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Ok, j'ai validé mon travail. Par contre je tiens à préciser que après plusieurs tests sur une de mes instances, en changeant les valeurs des constantes avec plusieurs configs et en regardant les logs mails, les erreurs de paheko et la source des messages reçus, la config par défaut me semble la plus saine pour l'instant...

Exemple de source message reçu

Return-Path: <paheko@mypaheko.domain.tld>
Delivered-To: user@anymaildomain.tld
Received: from mypaheko.domain.tld (localhost [IPv6:::1])
	by domain.tld (Postfix) with ESMTPSA id 7E89C295A6A
	for <user@anymaildomain.tld>; Sat,  6 Apr 2024 20:50:01 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mypaheko.domain.tld;
	s=mail; t=1712429401; h=from:from:reply-to:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:list-unsubscribe:
	 list-unsubscribe-post; bh=woCwZOVZSBun+IVhYkeuZKVqerBVLyw/Rtl7YTFlKo8=;
	b=jARlVhttplSMvP4R8JB3mvQXs+LJoq+Iy5tltHYvr3rL6fsH9jgzI2xGxPge36jGegKbOW
	10VS74CTkrQnzAhx17wIpUcH48wKK9ETWuGPrGSH4jz4mEvZUX5HD6eRpfX7Z0Ybg4JmUM
	JCACnuVcj0yGO2if7mC0KS4PdiKnPMQ=
From: "Admin Paheko" <paheko@mypaheko.domain.tld>
To: user@anymaildomain.tld
Subject: Essai Sat 06 Apr 2024 08:46:21 PM CEST
Reply-To: useradmin@anydomain.tld
Message-Id: <661199596f620.tab4h2kpju@wscgkoc.gkc>
List-Unsubscribe: <https://mypaheko.domain.tld/?un=eJEHFwsd9mkd9gcnrYK5G0Yglrw>
List-Unsubscribe-Post: Unsubscribe=Yes
X-Auto-Response-Suppress: All

@16arpi
Copy link
Author

16arpi commented Apr 6, 2024

Merci beaucoup pour la PR! Dernière petite question : la constante USE_CRON ne devrait elle pas elle aussi être mise dans config.local.user.php ? À moins qu'elle soit nécessaire pour être en harmonie avec Yunohost ?

@rodinux
Copy link
Collaborator

rodinux commented Apr 6, 2024

Merci beaucoup pour la PR! Dernière petite question : la constante USE_CRON ne devrait elle pas elle aussi être mise dans config.local.user.php ? À moins qu'elle soit nécessaire pour être en harmonie avec Yunohost ?

C'est une recommendation de la documentation officielle
https://fossil.kd2.org/paheko/wiki?name=Configuration
Je pense que c'est mieux de le laisser...

@16arpi
Copy link
Author

16arpi commented Apr 6, 2024

Merci beaucoup pour la PR! Dernière petite question : la constante USE_CRON ne devrait elle pas elle aussi être mise dans config.local.user.php ? À moins qu'elle soit nécessaire pour être en harmonie avec Yunohost ?

C'est une recommendation de la documentation officielle
https://fossil.kd2.org/paheko/wiki?name=Configuration
Je pense que c'est mieux de le laisser...

Je comprends mais si ça reste dans config.local.php personne ne pourra jamais modifier la constante. Ce serait possible de bouger ça dans config.local.user.php ? Comme ça elle reste par défaut mais modifiable.

@rodinux
Copy link
Collaborator

rodinux commented Apr 9, 2024

Merci beaucoup pour la PR! Dernière petite question : la constante USE_CRON ne devrait elle pas elle aussi être mise dans config.local.user.php ? À moins qu'elle soit nécessaire pour être en harmonie avec Yunohost ?

C'est une recommendation de la documentation officielle
https://fossil.kd2.org/paheko/wiki?name=Configuration
Je pense que c'est mieux de le laisser...

Je comprends mais si ça reste dans config.local.php personne ne pourra jamais modifier la constante. Ce serait possible de bouger ça dans config.local.user.php ? Comme ça elle reste par défaut mais modifiable.

Bonjour, ce n'est pas que la constante qui execute le cron, le cron est installer dans le script install

# Create a dedicated NGINX config
ynh_add_nginx_config
ynh_add_config --template="cron" --destination="/etc/cron.d/$app"
chown root: "/etc/cron.d/$app"
chmod 644 "/etc/cron.d/$app"

Donc le passer à false va créer peut-être des erreurs...

@rodinux
Copy link
Collaborator

rodinux commented Apr 10, 2024

!testme

@yunohost-bot
Copy link
Contributor

🌻
Test Badge

@yunohost-bot
Copy link
Contributor

🐛
Test Badge

@zamentur
Copy link

A propos de la cron

Merci beaucoup pour la PR! Dernière petite question : la constante USE_CRON ne devrait elle pas elle aussi être mise dans config.local.user.php ? À moins qu'elle soit nécessaire pour être en harmonie avec Yunohost ?

Si la cron est désactivée, les actions de la cron seront lancées lorsqu'une page sera ouverte... Cette option semble là pour des paheko qui serait hébergés sur des mutualisé web, ce qui n'est pas le contexte de yunohost.

En conclusion, désactiver cette cron est fortement déconseillé et semble non pertinent dans le contexte de yunohost.

A propos de personnaliser la config

Le fait que paheko utilise des constantes dans son fichier de config, fait que la mécanique d'inclure un autre fichier de config ne peut pas permettre d'écraser une constante déjà définie.

Si on commente toutes les constantes dans le premier fichier de config et qu'on les déplace dans config.local.user.php on retombe sur le même soucis pour les mises à jour lorsque le fichier de configuration évolue.

Du coup, une solution est de définir les paramètres smtp via un panneau de configuration. Mais ce panneau ne va pas proposer toutes les constantes, seulement celles qui peuvent être vraiment pertinentes (à ce jour, seuls les paramètres smtp et l'optimisation php sont identifié).

@rodinux
Copy link
Collaborator

rodinux commented Aug 19, 2024

Du coup, une solution est de définir les paramètres smtp via un panneau de configuration. Mais ce panneau ne va pas proposer toutes les constantes, seulement celles qui peuvent être vraiment pertinentes (à ce jour, seuls les paramètres smtp et l'optimisation php sont identifié).

Release is comming soon !

@ericgaspar ericgaspar changed the base branch from master to testing August 20, 2024 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants