<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">#!/usr/bin/perl -w

use strict; 
use IO::Socket;

#################################
# INFORMATIONS SUR LA CONNEXION #
#################################
my $server = 'smtp.unilim.fr';
my $port = '25';

#############
# CONNEXION #
#############
my $sock = IO::Socket::INET( PeerAddr =&gt; $server,
                             PeerPort =&gt; $port,
                             Proto    =&gt; 'tcp',
);
# si la connexion Ã©choue, on le signale Ã&nbsp; l'utilisateur
unless ( $sock ) {
  die "ERREUR - Impossible de se connecter Ã&nbsp; $server sur le port $port";
}

###########################################################
# SOUS-PROCÃ‰DURE GÃ‰RANT LES Ã‰CHANGES AVEC LE SERVEUR SMPT #
###########################################################
sub dialog {
    my ( $sock, $send ) = @_;
    print $sock $send;
    print "EnvoyÃ© au serveur : $send";
    my $receive = &lt;$sock&gt;;
  die "Pas de rÃ©ponse Ã&nbsp; : $send" unless $receive;
    print "ReÃ§u du serveur : $receive";
}

###################################
# INFORMATIONS CONCERNANT LE MAIL #
###################################
print "Entrez le nom de l'expÃ©diteur : ";
my $expediteur = &lt;&gt;;
chomp $expediteur; #Supprime le caractÃ¨re de retour Ã&nbsp; la ligne de la varible $expediteur

print "Entrez le nom du destinataire : ";
my $destinataire = 'nonMaisTuTePrendsPourUnJedi@unilim.fr';
chomp $destinataire; #idem

# Dans la suite, la chaÃ®ne '\015\12' sert Ã&nbsp; valider la commande envoyÃ©e au serveur
if ( my $server = &lt;$sock&gt;) {
    print "Salutations du serveur : $server";
    dialog( $sock,  "HELO $server\015\012" );
    dialog( $sock,  "MAIL FROM:&lt;$expediteur&gt;\015\012" );
    dialog( $sock,  "RCPT TO:&lt;$destinataire&gt;\015\012" );
    dialog( $sock,  "DATA\015\012" );
    dialog( $sock,  "test\015\012.\015\012" );
    dialog( $sock,  "QUIT\015\012" );
}
else {
    die "Pas de salutations du serveur...\n"
}

########################################################################################################################
################################################### POUR FINIR LE TP ###################################################
########################################################################################################################
#
# Vous devrez crÃ©er des variables pour le message Ã&nbsp; envoyer.
#
# Typiquement : 
#	- le sujet
#	- la date
#	- l'heure
#	- le fuseau
#
# Si vous pouvez Ã©galement modifier les champs pour :
#	- le destinataire
#	- l'expÃ©diteur
#	- le(s) destinaire(s) en copie conforme
#	- le(s) destinaire(s) en copie cachÃ©e
#	- des commentaires
#	- une adresse de rÃ©ponse
#
# Pour aller plus loin, essayer de regarder comment envoyer des piÃ¨ces jointes (son, image, video, script, ...)
#
########################################################################################################################





</pre></body></html>