Envois de mail lors d'apuis sur bouton avec ethernet shield

Bonjour a tous

Voila je désir envoyer un mail suite a un appuis sur un bouton

le branchement est tout simple je mets un relais sur le circuit a surveiller et en cas de coupure elec la carte arduino détecte le changement d’état du relais (principe d’appuis sur un bouton) et envois donc un mail

La carte arduino est connectée sur un circuit sécurisé

ça fait quelques jours que je fouille le net et je trouve pas ce que je veux

merci d'avance pour votre aide

woodman: Bonjour a tous

Voila je désir envoyer un mail suite a un appuis sur un bouton

le branchement est tout simple je mets un relais sur le circuit a surveiller et en cas de coupure elec la carte arduino détecte le changement d’état du relais (principe d’appuis sur un bouton) et envois donc un mail

La carte arduino est connectée sur un circuit sécurisé

ça fait quelques jours que je fouille le net et je trouve pas ce que je veux

merci d'avance pour votre aide

Bonjour Il semble que vouloir faire du SMTP directement avec arduino et shield ethernet soit compliqué voir à partir d'ici http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1250101892

il faut aussi que je précise que je débute dans la programmation

dans ton lien ils envoient un mail depuis une adresse mais je comprends pas tout ils utilisent pas de mot de passe de connexion de la messagerie d'envoi je compte passer par gmail donc il dois bien y avoir besoin d'utiliser des paramètres de log ou de connexion au serveur de messagerie pour que ca fonctionne ...

woodman: il faut aussi que je précise que je débute dans la programmation

dans ton lien ils envoient un mail depuis une adresse mais je comprends pas tout ils utilisent pas de mot de passe de connexion de la messagerie d'envoi je compte passer par gmail donc il dois bien y avoir besoin d'utiliser des paramètres de log ou de connexion au serveur de messagerie pour que ca fonctionne ...

bon je ne suis pas un spécialiste réseaux (je m'accorde même le qualif de buse :grin: ) mais je sais quand même qu'il faut distinguer "les protocoles" Et comme j'aime bien partir d'une base : A ce jour et en oubliant l'arduino tu envoi comment tes mails vers cette adresse gmail ?

un protocole SMTP un protocole HTTP un protocole HTTPS autre ? (j'ai du en oublier :grin: )

pour envoyer un mail généralement il suffit de se loger sur la messagerie avec identifiant et mot de passe via une page web sécurisée

donc la dans l'exemple sans mot de passe ca me donne l'impression que l'on peut se faire passer pour n'importe qui et envoyer un mail ou on veut donc soit il y a une grosse faille de sécurité soit il manque quelque chose dans le code

lol et non c'est la magie du smtp tu envoie des mail ou tu veux avec des nom de messagerie bidon ^^ et la il n'y à pas de faille :p mais pour partir sur internet avec ce protocole c'est autre chose, ça fonction en interne dans ton réseau sinon il te faut un serveur mail dans ton réseau qui marche et qui accepte ton groupe (@jementape.fr) par exemple ^^

woodman: pour envoyer un mail généralement il suffit de se loger sur la messagerie avec identifiant et mot de passe [u]via une page web sécurisée[/u]

hé bien voilà Les specialistes "reseaux" corrigerons si nécessaire

c'est par HTTP*S* (S pour securisé) l'arduino n'a à ma connaissance pas les ressources pour gerer directement la "Securisation"

meme probleme qu'avec twitter, il faut passer par un tiers (Token) si ça existe pour Gmail

donc pour l’adresse du serveur mail en utilisant gmail par exemple on dois mettre quoi ?

Il faut sur ton compte Gmail que tu active l’accès POP3
http://support.google.com/mail/bin/answer.py?hl=fr&answer=13273

Ensuite tu configure comme cela
http://support.google.com/mail/bin/answer.py?hl=fr&answer=13287

(tu vas pas rigoler tous les jours, car les accès POP à Gmail avec des clients autres que ceux testés, c’est pas de la tarte :fearful:)

Marc56: Il faut sur ton compte Gmail que tu active l’accès POP3 http://support.google.com/mail/bin/answer.py?hl=fr&answer=13273

Ensuite tu configure comme cela http://support.google.com/mail/bin/answer.py?hl=fr&answer=13287

(tu vas pas rigoler tous les jours, car les accès POP à Gmail avec des clients autres que ceux testés, c'est pas de la tarte :fearful:)

le pop3 si je ne m'abuse est fait pour lire les mails , pas pour en envoyer

Exact, j'ai été trop vite.

Cela dit, le deuxième lien https://support.google.com/mail/bin/answer.py?hl=fr&answer=13287 indique aussi les paramètre pour utiliser le SMTP de Gmail

Marc56: Exact, j'ai été trop vite.

Cela dit, le deuxième lien https://support.google.com/mail/bin/answer.py?hl=fr&answer=13287 indique aussi les paramètre pour utiliser le SMTP de Gmail

Ok mais cela requiert de l'authentification et on en retourne au probleme initial. Sous reserves : le couple arduino+shield ethernet n'est pas capable gerer la phase d'autentification

et bien je ne pensais pas que je posais un problème aussi complique avec mon envois de mail avec la carte arduino .....

Dans certains cas on peut encore (combien de temps ?) faire du SMTP par telnet (Dans des cas ou la laison adsl ou fibre fait office d'authentification ???)

et bien je ne pensais pas que je posais un problème aussi complique avec mon envois de mail avec la carte arduino .....

S'il n'y avais pas le bordel du spam ça aurait pu rester simple ....

Avant de répondre à ce fil j'ai appelé Google à la rescousse avec la formule "arduino telnet smtp" parmi les suggestions celle-ci (du 14 juin 2012) que je viens de tester telle quelle (aux adresses près) http://smhteam.info/blog/2012/06/14/mon-alarme-diy-test-de-lenvoi-demails-depuis-un-arduino/

c'est plus que limité, ce n'est qu'une ébauche... c'est juste la preuve que ce n'est pas impossible. ça ne veut pas dire que c'est utilisable.

J'ai pu m'envoyer deux mails : (Freebox ET connection au serveur smtp FREE !!) moi@free.fr -> moi@gmail.com moi@gmail.com ->moi@free.fr (classé indésirable... pas moi, le mail !!)

Yep!

En cherchant un peu, on arrive à trouver quelques pistes :

http://arduino.cc/playground/Italiano/Mail

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1235534880/15

Sur ce que j'ai pû lire 2 possibilités s'offrent à toi : utiliser le serveur smtp de ton fournisseur d'accés (ISP) ou fabriquer entièrement la trame et faire fi de la méthode d'authentification du protocole smtp.

Les liens précités datent un peu, et il se peut trés bien qu'ils ne soient plus vraiment d'actualité, mais en gros çà revient à envoyer une question au serveur et d'attendre la réponse afin de franchir ces étapes d'authentification. (Le sketch italien l'illustre bien).

Une étude sur le protocole peut aider aussi, si tu ne l'as pas encore envisagé. On retrouve les HELO, DATA, QUIT, que l'on retrouve habituellement entre autre sur TELNET, FTP, etc.

En tout cas, si tu avances sur le sujet, un retour serait interessant ;)

@+

Zoroastre.

zoroastre: http://arduino.cc/playground/Italiano/Mail

dans le lien la ils utilisent un username et password donc ça dois être sécurisé du coup

j’espère recevoir rapidement mon shield ethernet car il me manque plus que ça et je pourrai faire les test

Yep!

Attention, sur le site italien, ils utilisent un encodage à base64, il y a donc quelques étapes préliminaires à effectuer avant d'écrire ton code.

Per poter utilizzare lo sketch che segue, è necessario personalizzare vari parametri: bisogna configurarlo in modo che lo shield ethernet venga riconosciuto dalla rete casalinga in cui è installato; le impostazioni sono diverse per ogni persona,e si può fare riferimento ad un altro tutorial per stabilire qual è l'IP e il MAC address da inserire. bisogna sostituire mittente, destinatario, oggetto e corpo del messaggio con quelli desiderati bisogna scoprire l'indirizzo IP del proprio server di posta; il nome del server si trova nella configurazione del vostro client di posta, sotto "server in uscita"; per scoprirne l'IP, basta inserirlo in questo sito: http://www.visualroute.it/strumenti/dnslookup.asp bisgona inserire il proprio username e password. Questa è la parte più complessa, percè ormai quasi tutti i provider richiedono l'autenticazione dell'utente per poter inviare e-mail , e per fare ciò è necessario convertire le proprie credenziali di accesso (username e password) in formato "BASE64"; al momento non è disponibile una libreria Arduino che lo faccia, quindi è necessario appoggiarsi "una tantum" a un server esterno per convertire le proprie credenziali, per esempio http://www.motobit.com/util/base64-decoder-encoder.asp e http://webnet77.com/cgi-bin/helpers/base-64.pl

1- Adresse IP et MAC 2- Destinataire, corps du message et touti quanti :grin: 3- Adresse IP du serveur (utilisation de dnslookup, certainement pour identifier et discuter avec le serveur maitre en direct) 4- Nom d'utilisateur et mot de passe encodés pour l'exemple ici en base64

Tiens je comprends l'italien :astonished:

@+

Zoroastre.

Pour le Nom d'utilisateur et mot de passe encodés pour l'exemple ici en base64

ça veut dire que je peut pas les mettre comme ca direct dans le programme ??

Si tu utilises le smtp de ton FAI, pas besoin de log/pwd du moment que tu l'envoie de chez toi où d'une connexion du même FAI. En tout cas c'est le cas chez Free.

De même si tu veux utiliser le SMTP de ton FAI* chez quelqu'un qui n'est pas chez ton FAI, tu peux choisir "POP before SMTP", pour s'authentifier avant d'envoyer. Là tu dois mettre ton log/pwd.

De là a ce que arduino le gère, c'est une autre histoire. Et ça m’intéresse beaucoup.

*Cette methode est très pratique pour pas avoir à modifier constamment tes paramètres POP/SMTP quand tu est itinérant.

Si quelqu'un arrive en 2012 (certains articles datent un peu) à envoyer directement du mail (sans passer par un 'intermédiaire de confiance') en SMTP à partir d'Arduino avec login/password en BASE64 [u]merci de faire un retour[/u] !! Il me semble que ce procédé a disparu peu à peu pour le SMTP au profit d'autres nécessitant une puissance de calcul supérieure côté client, genre SSL (le futur Arduino WiFi shield avec son micro 32bits saura peut être faire ...) LaPoste.net était peut être un des derniers à accepter le BASE64 sur son SMTP.

J''espère sincèrement avoir tort et qu'il reste encore au moins un serveur SMTP accessible en BASE64 !!

Pour moi seul l'envoi au serveur SMTP de son propre FAI est encore possible pour l'Arduino .... du moins chez FREE.

PS : traduite en ligne la note 4 de l'article italien est asez restrictive :

NOTE 4: Cette liste seulement donne accès aux serveurs SMTP qui ne nécessitent pas de cryptage SSL ; d'autres, comme par exemple Gmail, exigent, afin que ce code ne fonctionnera pas. En ce moment, je ne sais pas comment se connecter aux serveurs qui requièrent le chiffrement SSL.