2009-04-16 8 views
2

Dans le cadre du processus de configuration de mon application, j'ai un vérificateur de cohérence qui valide toutes les données fournies par l'utilisateur. Cela inclut les paramètres du serveur de messagerie que l'application utilise pour envoyer des e-mails.Comment puis-je tester mes paramètres de messagerie sans envoyer de message?

Je voudrais un simple contrôle de santé mentale sur ces paramètres sans envoyer de courriel. Ce serait génial si cela pouvait prendre en charge toutes les versions standard des configurations SMTP, y compris celles avec authentification/ssl/etc.

Il n'a pas besoin d'être exhaustif, mais plus il y a de couverture, mieux c'est.

Actuellement, tout ce que je fais est de vérifier que je peux ouvrir une connexion au serveur donné sur le port donné. Quelque chose d'un peu plus profond serait bien.

Remarque: Je suis et non en essayant de valider les adresses e-mail - ce n'est pas pertinent à cette question.

Répondre

4

Vous venez d'ouvrir une connexion brute au port du serveur & que les fournitures utilisateurs et faire un

HELO Server.Domain.Com 
Mail From: [email protected] 

pour voir si vous obtenez une réponse HELO valide & Sender OK Réponse (si l'authentification smtp est activée) .

Comme vous le feriez si vous vous connectez directement au serveur via Telnet.

http://www.petri.co.il/test_smtp_service.htm

Cela pourrait être aussi utile

http://qmail.jms1.net/test-auth.shtml

+0

Si j'utilise un serveur smtp sécurisé, jusqu'où irai-je? Où puis-je fournir un mot de passe ou démarrer une connexion SSL/TLS? –

+1

pas sûr t.b.h. Je n'ai jamais eu besoin de tester ça. tu pourrais essayer ce lien. il donne quelques détails sur openssl/encoding/et en utilisant la commande Auth http://qmail.jms1.net/test-auth.shtml –

+0

merci Eoin, ce lien supplémentaire est très utile –

1

Je suis sûr que quelqu'un de plus brillant et plus qualifié se contentera d'une meilleure réponse. Cependant, à première vue, je dirais que vous ne pouvez pas vérifier la possibilité d'envoyer des e-mails sans envoyer d'e-mail. Toutefois, si vous souhaitez automatiser le processus, vous pouvez avoir une adresse '[email protected]' (ou votre domaine local).

Ensuite, vous pouvez créer une application de surveillance qui surveille cette adresse e-mail, ou simplement une application simple qui s'interface par programmation avec cette adresse e-mail et vérifie si un e-mail a été reçu dans X minutes. De cette façon, vous pouvez être sûr à 100% que les emails peuvent être envoyés. Ce lien affiche how to programmatically check gmail addresses. Une remarque importante: Si votre application envoie des courriels externes, il est préférable que l'adresse e-mail que vous utilisez soit externe, car il est possible que votre serveur ne puisse pas envoyer d'e-mails externes, mais des e-mails internes vont à travers très bien, et dans ce cas votre contrôle de santé enverrait un faux positif.

+0

@devinb: merci pour les conseils. Ceci est pour usage interne seulement, et pour une vérification rapide de santé mentale, n'enverra rien réellement. Il y a une étape pour cela plus tard dans le processus. Merci! –

Questions connexes