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 |
Comments