2010-04-20 5 views
1

J'ai conçu une application de chat où différents utilisateurs peuvent créer le compte, mais je ne sais pas comment envoyer un email de confirmation aux utilisateurs. Depuis que je collecte leur adresse e-mail dans le formulaire d'inscription, comment puis-je envoyer du courrier à ces adresses en Java?Comment puis-je envoyer un e-mail de confirmation aux utilisateurs de mon application?

+0

@giri: vous pouvez vérifier comment un projet Java Open Source envoie un email. * JForum * par exemple est écrit en Java et envoie un email de confirmation/vérification: http://jforum.net (ce n'est pas vraiment une réponse, donc j'ai fait un commentaire;) – SyntaxT3rr0r

+0

@Wiz: peu importe, vous avez toujours besoin d'un SMTP serveur. Si je ne me trompe pas, ils utilisent également l'API JavaMail. – BalusC

+0

@BalusC: Oh oui ... C'est pour ça que j'ai fait un commentaire et non une réponse (parce que tu n'avais pas encore répondu quand j'ai posté le commentaire): Je suis sûr qu'ils utilisent JavaMail et un "typique" install utilise un compte GMail et utilise le serveur SMTP de Google, de cette façon vous n'avez pas besoin d'installer et de maintenir votre propre serveur de messagerie (avec tout le problème de RBL/whitelisting/etc.). C'était une sorte de * "Utilisez la source, Luke!" * Commentaire, pas une réponse réelle:) <- Développeur Java mais JForum * utilisateur * ici:) – SyntaxT3rr0r

Répondre

5

Tout d'abord, vous avez besoin d'un SMTP server. Il est nécessaire d'être en mesure d'envoyer des emails. Vous pouvez utiliser le serveur SMTP associé à votre propre compte de messagerie existant, tel que celui de votre FAI ou de vos boîtes aux lettres publiques comme Gmail, Yahoo, etc. Vous pouvez trouver les détails de connexion SMTP dans leur documentation. Vous avez généralement juste besoin de connaître le nom d'hôte et le numéro de port. Les informations de connexion sont identiques à celles de votre compte de messagerie.

Vous êtes toutefois limité à l'utilisation de votre propre adresse dans le champ From de l'e-mail et généralement aussi dans la quantité d'e-mails que vous êtes autorisé à envoyer à certains intervalles. Si vous souhaitez contourner ce problème, vous devez installer votre propre serveur SMTP, par exemple Apache James, basé sur Java ou Microsoft Exchange, etc. Ensuite, pour envoyer un e-mail en utilisant le code Java, vous devez utiliser le JavaMail API ou le Apache Commons Email plus convivial.

0

La meilleure façon de faire cela dépend vraiment de l'environnement que votre machine virtuelle Java est en cours d'exécution dans.

Si vous utilisez dans un environnement Linux standard/UNIX et ne voulez pas faff au sujet des bibliothèques supplémentaires, alors une façon est juste d'appeler "manuellement" sendmail (par exemple via ProcessBuilder). Comme pour l'exécution des commandes en général, il suffit de faire attention à ne pas simplement passer les paramètres de l'utilisateur comme paramètres sans les filtrer.

+2

L'objectif principal de Java est d'être platformindependent. C'est pourquoi sous chaque JavaMail existent :) – BalusC

+0

Oui, si vous avez vraiment besoin de cette indépendance de plate-forme et qu'il est approprié de l'attendre dans le cas en question. Si c'est votre code côté serveur, alors quelle que soit la langue dans laquelle vous programmez, en réalité, il sera codé pour votre environnement de serveur particulier dans toutes sortes d'endroits. –

Questions connexes