July 22, 2004

Sending and receiving JavaMail

Need to send or recieve email using Java? Try this out, using the JavaMail API, available at http://java.sun.com/products/javamail:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
 
public class MailDemo {
 
   public static void main (String[] args){
         getMessages();
   }
        
   public static void getMessages(){
        
      Properties props = System.getProperties();
      Session session = Session.getDefaultInstance( props );
      try {
        String host = "www.yourserver.com";
        String username = "acmessages";
        String password = "mypassword";
        Store store = session.getStore("pop3");
        store.connect(host, username, password);
         
        Folder folder = store.getFolder("INBOX");
        folder.open(Folder.READ_WRITE);
        if (messages.length > 0){
            Message[] messages = folder.getMessages();
         
            MimeMessage thisMessage = (MimeMessage)messages[0];
            System.out.println(thisMessage.getContent());
         
            sendMessage("System event notification",thisMessage.getContent().toString());    
         
            thisMessage.setFlag(Flags.Flag.DELETED, true);
        }        
        folder.close(true);
        store.close();
      } catch (Exception e){
        e.printStackTrace();
      }
   }
        
   public static void sendMessage(String subject, String content){    
      Properties props = System.getProperties();
      props.put( "mail.transport.protocol", "smtp" );
      props.put( "mail.smtp.host", "www.yourserver.com" );
 
      Session session = Session.getDefaultInstance( props );
      Message msg = new MimeMessage( session );
 
      String from = "sender@example.com";
      String to = "recipient@example.com"; 
      try {
        msg.setFrom( new InternetAddress( from ) );
        msg.setRecipients( Message.RecipientType.TO, InternetAddress.parse( to ) );
        msg.setSubject(subject);
        msg.setText(content);
         
        Transport.send( msg );
      } catch (Exception e){ 
        e.printStackTrace(); 
      }
   }   
 
}
Technorati tags: Java | email | send | receive | POP | SMTP | POP3 |

src="http://feeds.feedburner.com/~s/ChaosMagnet?i=http://www.chaosmagnet.com/blog/archives/000459.html" type="text/javascript" charset="utf-8">
Posted by roadnick at July 22, 2004 05:05 PM | TrackBack

Comments

Post a comment









Remember personal info?