2010-03-11 4 views
0

J'essaye d'envoyer des e-mails via la programmation de socket en utilisant des commandes SMTP en utilisant socket dans Java. Mais je suis incapable de le faire. Le problème est dans l'authentification peut être.Envoyer un e-mail avec la commande SMTP, en utilisant la programmation de socket en Java

J'ai besoin de commandes SMTP pour envoyer des emails et authentifier l'utilisateur sur le serveur.

Toute aide appréciée.

Merci à l'avance Imran

+0

Travailler avec Android –

+0

API Java ne fonctionnera pas –

+0

Impossible d'utiliser l'API JAVA MAIL :) –

Répondre

0

Créer Transport objet

Properties props = new Properties(); 
     props.setProperty("mail.transport.protocol", pProtocol); 
     props.setProperty("mail.host", pHost); 
     props.setProperty("mail.user", pUser); 
     props.setProperty("mail.password", pPassword); 

     mMailSession = Session.getDefaultInstance(props, null); 
     mMailSession.setDebug(true); 

     try { 
      mTransport = mMailSession.getTransport(); 
      mTransport.connect(); 
     } catch (MessagingException e) { 
      mLog.error(e.getMessage(), e); 
      throw new MailException(e); 
     } 

Envoyer un courriel

try { 
      MimeMessage message = new MimeMessage(mMailSession); 
      message.setSubject(pSubject); 

      MimeBodyPart textPart = new MimeBodyPart(); 
      textPart.setContent(pContent, "text/html"); 

      Multipart mp = new MimeMultipart(); 
      mp.addBodyPart(textPart); 

      message.setContent(mp); 
      message.addFrom(new Address[] { new InternetAddress(pFrom) }); 

      for (int i = 0; i < pTo.length; i++) { 
       String tTo = pTo[i]; 
       message.addRecipient(Message.RecipientType.TO, new InternetAddress(tTo)); 
      } 

      mTransport.sendMessage(message, message.getRecipients(Message.RecipientType.TO)); 


     } catch (MessagingException me) { 
      throw new MailException(me); 
     } 

EDIT:

Après le commentaire de Thilo, je voudrais ap pend, que cette solution dépend de com.sun.mail et importe javax.mail. * classes.

+1

Ce utilise les packages Java Mail (javax.mail) (qui est ce que vous devriez faire plutôt que de parler à des prises directement) – Thilo

+0

Remerciez vous pour la réponse. Mais je cherche à envoyer des e-mails via Socket Programming et j'ai besoin de commandes SMTP à cet égard. Je veux utiliser Gmail comme serveur SMTP. – imran