Envoi de mail via SMTP sous windows

Fermé
louis0078 Messages postés 5 Date d'inscription vendredi 31 mai 2013 Statut Membre Dernière intervention 3 juin 2013 - 31 mai 2013 à 16:50
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 3 juin 2013 à 17:21
Bonjour (re pr certains ;) )
j'ai fait un test d'envoi de mail, ça a marché une fois et plus rien...J'utilise l'adresse pro et mon code est le suivant :

use MIME::Lite;
use Net::SMTP;

my $Message = new MIME::Lite
   From =>'adresse@blabla.com',
   To =>'adresse@blabla.com',
   Cc =>'adresse@blabla.com',
   Subject =>'Sujet de votre message.',
   Type =>'TEXT',
   Data =>"Pour finir, votre message au format texte";
$Message->send_by_smtp('casarray01.groupinfra.com');


il me ressort "bad file descriptor" et parfois que j'ai été refusé !!
Pourtant la première fois ça a marché...

bizarre bizarre...

je me dis que mon smtp est peut être faux (j'ai récup cette adresse via mon outlook (parametre messagerie))
A voir également:

3 réponses

louis0078 Messages postés 5 Date d'inscription vendredi 31 mai 2013 Statut Membre Dernière intervention 3 juin 2013
31 mai 2013 à 17:21
le retour exact en cmd est :
SMTP failed to connect to mail server : bad file descriptor
0
louis0078 Messages postés 5 Date d'inscription vendredi 31 mai 2013 Statut Membre Dernière intervention 3 juin 2013
3 juin 2013 à 10:14
Aucunes idées ?? :(
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié par [Dal] le 3/06/2013 à 10:55
Salut Louis,

J'utilise MIME::Lite sous FreeBSD ou Linux, avec un serveur smtp Sendmail ou Postfix configuré sur la machine en question, alors, je n'ai pas besoin d'utiliser explicitement Net::SMTP.

Cependant, voilà quelques éléments.

1.

Selon la documentation de MIME::Lite (à lire : https://metacpan.org/pod/release/YVES/MIME-Lite-3.01/lib/MIME/Lite.pm), MIME::Lite te permet de spécifier un serveur smtp :

And, if you're not on a Unix system, or if you'd just rather send mail some other way, there's always:

MIME::Lite->send('smtp', "smtp.myisp.net");


L'appel explicite à Net::SMTP serait superflu.

Vois aussi le Synopsis, car l'objet n'est pas créé comme tu le fais ($msg = MIME::Lite->new( ....), et commence tous tes programmes Perl avec les directives "use strict;" et "use warnings;".

2.

Pour vérifier si tu as bien un serveur smtp à cette adresse, ouvre un terminal de ligne de commande et tape :

ping casarray01.groupinfra.com
telnet casarray01.groupinfra.com 25

Dal
0
louis0078 Messages postés 5 Date d'inscription vendredi 31 mai 2013 Statut Membre Dernière intervention 3 juin 2013
3 juin 2013 à 15:28
1- J'ai essayé en utilisant la méthode de CPAN. Je retombe sur les mêmes erreurs.

Cependant quand je met juste send, SMTP failed to connect to mail server et quand je mets send ('sm...) la même chose avec en plus : bad file descriptor.

2- en invite de console, le ping marche parfaitement. Le telnet se connecte mais ensuite je ne peux rien faire. (l'entête de ma fenetre est au nom de casarray01.groupinfra.com mais au bout de quelques sec je re sur cmd.exe ou si je tape je re direct).

Que dois-je en déduire ?

Merci !

Louis
0
louis0078 Messages postés 5 Date d'inscription vendredi 31 mai 2013 Statut Membre Dernière intervention 3 juin 2013
3 juin 2013 à 16:00
Ah première piste !!!

Avec ce script la :
use warnings;
use strict;
use MIME::Lite;


 my $email = new MIME::Lite
	From =>'adresse',
	To =>'adresse',
	Cc =>'',
	Bcc =>'',
	ubject =>'TEST' ,
	Type =>'TEXT',
	Data =>"TEST TEST TEST TEST TEST TEST" ;
	$email -> send('smtp', "casarray01.groupinfra.com");


En me connectant à internet par mon tél, le script marche et je reçois le mail sur ma boite pro.
Dès que je remet le filaire (donc via proxy entreprise), hop ça ne marche plus. Mon proxy en est il la cause ??

Louis
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
3 juin 2013 à 17:21
Si tu as un "proxy" smtp, je suppose que tu dois mettre l'adresse de ton proxy dans le send.

Par ailleurs, le send ci-dessus est pour un serveur smtp ne nécessitant pas d'authentification. Si une authentification est requise, des paramètres additionnels sont nécessaires, selon la documentation :

MIME::Lite->send('smtp','some.host', AuthUser=>$user, AuthPass=>$pass);

Dal
0