Synology PHP - Migration vers DSM7

Je n'avais pas vu la question sur l'éditeur ; j'utilise Notepad++ en encodage UTF8.
Ce n’est pas tant l’encodage que le caractère de fin de ligne qui pose soucis.
Dans notepad++ il faut choisir le LF comme caractère de fin de ligne.
 
J'étais en CR LF ; j'ai fait la conversion mais cela ne change rien.

DSM utilise ssmtp(8) pour envoyer les courriels (ce programme est un bête client SMTP soumettant les courriels à un MTA).

Lorsqu'il n'arrive pas à envoyer les courriels, il crée un fichier dead.letter dans le même répertoire du script l'ayant appelé (donc /volumeX/web/)

Avec la configuration PHP par défaut, on peut forcer ssmtp(8) à utiliser un compte mail spécifique en créant (ou en le modifiant s'il existe) /etc/ssmtp/ssmtp.conf (changer <PORT> par celui utilisé) :
Code:
# Fichier de configuration pour ssmtp(8)
# Les lignes commençant par "#" sont des commentaires.
###

# Le MTA à utiliser pour envoyer le courriel (d'après tes précédents messages
# c'est "smtp.office365.com") et choisir 465 pour une connexion TLS/SSL
# ou 587 pour STARTTLS.
# <https://support.microsoft.com/fr-fr/office/param%C3%A8tres-pop-imap-et-smtp-8361e398-8af4-4e97-b147-6c6c4ac95353>
#
mailhub=smtp.office365.com:<PORT>

# Certificats TLS/SSL racines
#
TLS_CA_FILE=/etc/ssl/certs/ca-certificates.crt

# Si connexion à "smtp.office365.com" via TLS (TCP/465)
#
#UseTLS=Yes

# Si connexion à "smtp.office365.com" via STARTTLS (TCP/587)
#
#UseSTARTTLS=Yes

# Identifiants du compte de messagerie utilisé pour l'envoi des courriels
#
AuthUser=username
AuthPass=password
AuthMethod=LOGIN

Ainsi que le /etc/ssmtp/revaliases :
Code:
root:utilisateur@example.net:smtp.office365.com:<PORT>
 
Merci Cooper, mais dans mon cas les mails sont bien envoyés, avec un objet. Je les reçois. C'est le contenu du message qui ne passe pas.
 
Deux hypothèses alors :
  1. message mal formaté
  2. rejet du courriel par le MTA smtp.office365.com

Je pense à la seconde raison car tu as indiqué avoir converti les fins de lignes.

Pour en avoir le cœur net, depuis une session SSH testes l'envoi d'un courriel directement via ssmtp et indiques-nous le résultat :
Bash:
echo -e "From: contact@societe.com\nSubject: Test ssmtp\nTest envoi courriel" | ssmtp -v destinataire@example.net
 
Pour information, le serveur SMPT de outlook.com utilise STARTTLS comme moyen de chiffrement :
1677501314023.png

Est-ce que tu as essayé en changeant de serveur SMTP ? Avec une autre adresse et compte email dans DSM.
 
Merci Cooper et MilesTEG1 :
@cooper : je ne connais pas SSH
@MilesTEG1 : j'ai mis le smtp de gandi (j'ai le site Web de la société chez eux) et ça fonctionne !

Merci à vous deux de m'avoir épaulé !
Je reviendrai plus tard.. car j'ai encore une autre bizarrerie !
 
  • J'aime
Réactions: cooper