Essayez de vous connecter au port SMTP et assurez-vous de récupérer une ligne commençant par "220" et contenant les lettres "SMTP". Une réponse exemple typique serait:
220 prod.monadic.cynic.net ESMTP Postfix (2.5.5)
Alors soyez poli et envoyer « QUIT
\ r \ n » pour raccrocher.
Vous pouvez effectuer d'autres tests si vous le souhaitez, par exemple tester que l'utilisateur peut probablement envoyer des messages. Pour cela, vous devez envoyer une commande HELO avec votre nom d'hôte (ou n'importe quelle chaîne, en fait), une commande MAIL FROM
en utilisant l'adresse e-mail de l'utilisateur, et une RCPT TO:<[email protected]>
. À ce stade, la plupart des serveurs vous diront si le relais n'est pas autorisé. (Je suppose que vous faites ceci à partir de l'ordinateur à partir duquel vous enverrez plus tard le courrier.) Tant que vous QUIT
après cela, plutôt que d'émettre une commande DATA
et les données de message, rien ne sera envoyé.
Voici un exemple de session, réalisée à partir du shell en utilisant la commande "netcat", montrant que mon serveur existe, mais ne relaiera pas le courrier des personnes provenant d'adresses IP aléatoires.
$ nc prod.monadic.cynic.net. 25
220 prod.monadic.cynic.net ESMTP Postfix (2.5.5)
HELO cynic.net
250 prod.monadic.cynic.net
MAIL FROM:<[email protected]>
250 2.1.0 Ok
RCPT TO:<[email protected]>
554 5.7.1 <[email protected]>: Relay access denied
QUIT
221 2.0.0 Bye
$
Comme Curt l'a déjà dit, essayez une connexion et vérifiez si vous pouvez ouvrir un port. Alors jetez un oeil si vous avez une réponse, mais si configuré, un serveur ne vous enverra pas initialement quelque chose. Donc, pour être sûr, commencez par une commande 'HELO' ou 'EHLO' et vérifiez sa réponse. Toutes les autres commandes que vous pourriez essayer de vérifier sont listées dans les RFC 821, 2821 et 5321. – Oliver
Un serveur vous enverra en effet initialement une ligne 220 dès que vous vous connecterez. J'ai ajouté un exemple ci-dessus pour le rendre plus clair. –
Salut Curt c'est vraiment mais je peux bien suivre la première partie mais je ne suis pas capable de comprendre le syntx RCPT A: <[email protected]> peux-tu donner du code en C# pour ça. –