Bonsoir,
Je ne réponds à aucun de vous deux directement mais je crois que mon post peut vous donner des pistes de recherches.
Comme souligné par le PO, l'objectif est de pouvoir envoyer des mails à partir d'un script (php en particulier)depuis un Raspberry.
Comme le Raspberry n'est pas un foudre de guerre (surtout mon P1 B+, j'ai recherché le maximum de légèreté.
Dans mon cas, il s'agit de recevoir un mail d'alerte de mon serveur domotique pour être avisé en cas de batterie vide sur un des capteurs ou de proche saturation de la carte SD .
Il n'est ABSOLUMENT pas question d'installer des monstres comme Sendmail ou Postfix dont la complexité et la charge CPU sont disproportionnées par rapport à cet objectif (sans parler des écritures sur la carte SD).
Je ne souhaite pas recevoir de mail sur mon Raspberry puisque le but est d'oublier son existence. Qui enverrait des mails au système embarqué de son ascenseur ou de sa voiture ?.
J'avais déjà effectué des essais fructueux sur la Machine Virtuelle CENTOS qui m'a servi à paramétrer la domotique. Je viens de refaire des essais concluants sur le Raspberry B+ sous Jessie- lite (pas de GUI, commande par SSH).
Comme je suis abonné chez Orange (choix imposé par la fibre), je passe par le serveur SMTP d'orange (relire mon premier post sur le pourquoi). Je n'ai pas de nom de domaine (FDQN) ni de reverse DNS ni de MX déclaré. Mon choix c'est porté sur bsd-mailx (amélioration de Heirloom-mailx) qui ne requiert que peu de dépendances (liblockfile-bin liblockfile1) et ne pèsera que 170 ko (plus la qualité BSD).
Après installation, il faut adapter le fichier /etc/nail.rc (dans d'autres distributions, il peut avoir pour nom mail.rc).. Je ne vous donne que la fin du fichier, qu'il faudra adopter à votre cas et ajouter au fichier d'origine:
Code : Tout sélectionner
# Only include selected header fields when forwarding messages.
fwdretain subject date from to
# For Linux and BSD, this should be set.
set bsdcompat
# set smtp=smtp://smtp.server.tld:port_number
set smtp=smtp://smtp.orange.fr:587
# nécessaire pour activer l'authentification
set smtp-auth=login
# Le login de votre compte smtp
set smtp-auth-user=nom.prenom@orange.fr
# Le mot de passe de votre compte smtp
set smtp-auth-password=PASSWD
On teste avec la commande mail -v pour avoir le mode verbeux:
Code : Tout sélectionner
$ mail -v nom.prenom@orange.fr
Subject: test raspi
test
EOT
Resolving host smtp.orange.fr . . . done.
Connecting to 193.252.22.64:587 . . . connected.
220 mwinf5d52 ME ESMTP server ready[code]
>>> EHLO RaspiFHEM.nom.fr
250-mwinf5d52 hello [XX.XXX.XXX.XX], pleased to meet you
250-HELP
250-AUTH LOGIN PLAIN
250-SIZE 44000000
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 OK
>>> AUTH LOGIN
334 VXNlcm5hbWU6
>>> cG91cnJlLnN5bHZhaW5Ab3JhbmdlLmZy
334 UGFzc3dvcmQ6
>>> aGJnNHpkMw==
235 2.7.0 ... authentication succeeded
>>> MAIL FROM:<
pi@RaspiFHEM.nom.fr>
501 5.1.0 Emetteur invalide. Invalid Sender. OFR303_405 [405]
smtp-server: 501 5.1.0 Emetteur invalide. Invalid Sender. OFR303_405 [405]
"/home/pi/dead.letter" 12/319
. . . message not sent.
[/code]
Refus car le FDQN n'est pas valide comme permet de le vérifier la commande hostnamre.
Un petit passage par raspi-config pour lui donner un nom "convenable": fhem.domotique.fr (normalement la RFC recommande de mettre un nom non valide en terminant le FDQN par .invalid mais je n'ai pas testé).
Un nouvel essais vers mon adresse chez Orange me donne:
à l'émission, côté Raspberry
Code : Tout sélectionner
$ mail -v nom.prenom@orange.fr
Subject: tests
raspi
EOT
Resolving host smtp.orange.fr . . . done.
Connecting to 193.252.22.64:587 . . . connected.
220 mwinf5d52 ME ESMTP server ready
>>> EHLO fhem.domotique.fr
250-mwinf5d52 hello [XX.XXX.XXX.XX], pleased to meet you
250-HELP
250-AUTH LOGIN PLAIN
250-SIZE 44000000
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 OK
>>> AUTH LOGIN
334 VXNlcm5hbWU6
>>> cG91cnJlLnN5bHZhaW5Ab3JhbmdlLmZy
334 UGFzc3dvcmQ6
>>> aGJnNHpkMw==
235 2.7.0 ... authentication succeeded
>>> MAIL FROM:<pi@fhem.domotique.fr>
250 2.1.0 <pi@fhem.domotique.fr> sender ok
>>> RCPT TO:<nom.prenom@orange.fr>
250 2.1.5 <nom.prenom@orange.fr> recipient ok
>>> DATA
354 enter mail, end with "." on a line by itself
>>> .
250 2.0.0 KA4s1v00u0pBAEj03A4s34 mail accepted for delivery
>>> QUIT
221 2.0.0 mwinf5d52 ME closing connection
.
Du côté réception, dans ma messagerie Orange, l'entête m'indique clairement que le mail vient de mon Raspberry avec son FDQN:
Code : Tout sélectionner
from fhem.domotique.fr ([XX.XXX.XXX.XX]) by mwinf5d52 with ME id KA4s1v00u0pBAEj03A4s34; Fri, 12 May 2017 00:04:53 +0200
Cela fonctionne aussi vers mon adresse Gmail, avec un contrôle supplémentaire visible dans l'entête:
Code : Tout sélectionner
i=1; mx.google.com; spf=neutral (google.com: 80.12.242.127 is neither permitted nor denied by best guess record for domain of pi@fhem.domotique.fr) smtp.mailfrom=pi@fhem.domotique.fr
CQFD
Sylvain