Envoie d'email avec SMTP [Résolu]

Bonjour à tous,

Je suis l'heureux "gestionnaire" d'un projet de domotique qui tourne depuis environ 2 ou 3 ans avec un succès grandissant :slight_smile: . Cette réalisation fonctionne sur un Mega2560 avec carte ethernet et carte relais, et une autre Mega2560 reliée à la première en série. Ce projet, entre autre fonctionnalité, envoie des emails via smtp, des emails en mode texte et aussi en HTML (colorisation, lien, datalog en pièce jointe).
Ce projet, après une longue periode de rodage, fonctionne très bien à mon gout !!

Cependant , de manière brutale il y a environ 2 semaines (je pourrais donner la date précise) , la réception des emails texte est devenue très aléatoire, avec des entêtes et des corps de message tronqués voire qui n'arrivent jamais ; les emails en HTML ne passe plus du tout !! J'ai pensé à un problème matériel et ai fait un essai avec des autres cartes : rien à faire ! J'ai essayé un sketch plus simple n’intéressant que la partie email: je ne retrouve plus la fiabilité d'avant avec 100% des emails reçus : une part aléatoire importante. Le FAI est Free , j'utilise une adresse d'envoi @free.fr, une adresse de réception @gmail.com, l’émission en smtp sur port 25 sans login ni mot de passe.

Voilà !! je seche lamentablement !! le FAI aurait-il changé quelque chose dans le protocole ? Comment s'adapter ?
Si quelqu'un à une idée, une info, je suis preneur :roll_eyes:
Merci

Bonjour,

Comment ta carte Ethernet est-elle reliée au réseau Ethernet?
Câble RJ45 direct sur la box? par switch ? par CPL?

Elle est reliée par rj45 sur Switch, lui même sur la box.

Avec un autre câble RJ45 et direct sur la box, pour éliminer le switch et le câble?

Es-tu en train de me dire que tu penses qu'il y aurait un probleme de connectique ou de switch ? Juste un faux contact quoi ? j'essaye ca des que possible :o

Tout est possible, j'ai déjà eu un problème similaire avec un switch et un autre avec un câble neuf.

peut être un rapport avec ce pb

l'émission en smtp sur port 25 sans login ni mot de passe.

Avez vous testé depuis votre pc si vous pouvez envoyer un mail depuis un compte sans authentification SMTP? de plus en plus d'ISP rendent cela obligatoire pour la tracabilité des utilisateurs et Le spam

Merci beaucoup pour toutes vos suggestions !!
j'ai tester :
1/ l'envoie d'un mail sur port 25 avec Thunderbird :c'est ok
2/ le changement de switch avec un neuf, et le changement de cable RJ45 avec des neufs : c'est pas ok : toujours le même problème .
3/ le changement de shield (effectivement de marque HanRun avec des résistances d'adaptation d’impédance trop élevées) par un autre shield avec des résistances de 49Ohms9 !! toujours pareil !! c'est pas ok

En résumé : c'est pas OK ! et je suis désespéré :o

Bon WE

Juste par acquis de conscience - Le code qui a fonctionné très bien pendant 2 ans n'a pas été changé, recompilé avec une version plus récente de l'IDE et rechargé ?

Est-ce que le code charge des pièces jointes ou traite un historique sur carte SD qui pourraient avoir atteint une taille critique et saturer la mémoire ?

J'aurais aimé dire oui mais non, j'utilise toujours la même version de l'IDE.
Pour les PJ sur SD, oui c'est possible que la taille de celle-ci soit importante, mais dans ce cas le programme , au lieu d'envoyer un mail avec la PJ envoie un mail sans PJ spécifiant sa taille trop importante !!
Quant au fonctionnement du code pendant 2 ans: oui c'est vrai que pendant cette période j'ai changé le code de nombreuse fois pour y apporter des améliorations, mais chaque fois je teste le code et reviens en arrière s'il ne fonctionne pas ; dans le cas présent, le code fonctionnait et subitement, sans changement de ma part, il s'est mis à avoir un fonctionnement aléatoire: email tronqués , email qui ne pas pas du tout, email entier aussi, et tout cela dans des proportion variable...

Et puis (j'ai oublié de le dire) je sais que le programme tourne parce qu'il commande des fermetures de relais à heure fixe et que cela se produit , il y a aussi une partie web serveur toute petite qui répond toujours !! donc y a pas de plantage :confused:

est-ce que vous utilisez la classe String?

Oui un petit peu pour analyser les réponses du shield ethernet !

Si j'étais vous je réécrirais cette partie - vous gagnerez de la mémoire et enlèverez un risque au run time

Dans l'état actuel de mes connaissances , j'en suis pas capable !! :o
c'est du code "recyclé" pour cette partie ! Et puis je rappelle le caractère soudain du dysfonctionnement et une ram libre à 3100 environ pour un mega 2560 qui en compte 8K je crois.
En revanche j'ai obtenu une avancè en supprimant par endroit la macro F , cela parait paradoxale puisqu'on parle de manque de ram mais un gros email en html passe. Je ne peux pas faire cela pour le reste au vu de la ram qui est passée à 1300 environ !
Y a un diable dans ce truc c'est pas possible !!

Très difficile de vous aider sans le code si vous avez éliminé les soucis de votre fournisseur d'accès internet été de login, c'est que vous avez un bug

Les bugs qui apparaissent de manière plus ou moins aléatoire au bout d'un moment sont souvent liés à la mémoire qui se sature lentement - ce que la classe String fait suivant comment les chaînes sont créées et libérées de la memoire

Bonjour à tous !

Un dernier post pour partager la résolution de mon problème:

En effet, j’ai constaté que la liaison série qui relie les deux mega2560 (dont le câble fait environ une vingtaine de mètre) était défectueuse, un probable animal rongeur aura grignoté goulument ledit câble le prenant pour …
La liaison série, gérée par la librairie EasyTransfert (que j’imagine utilisant des interruptions ) s’est probablement mise à ralentir le programme, rendant les transmissions de données vers le serveur smtp saccadées d’ou les email arrivant ou pas, tronqués ou non .
Le remplacement du câble a résolu immédiatement le problème :-)))
Je remercie tout ceux qui ont fait l’effort de m’aider pour la résolution du problème.

super

il est temps de passer au sans fil s'il y a des rongeurs :slight_smile: