/ Published in: Java
This is a basic routine for connecting to the Gmail servers using the JavaMail API over the IMAP protocol and parsing data from those e-mails.
Expand |
Embed | Plain Text
import java.util.List; import java.util.Properties; import java.util.Date; import java.util.Locale; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import javax.mail.Session; import javax.mail.MessagingException; import javax.mail.Store; import javax.mail.Folder; import javax.mail.Message; import javax.mail.NoSuchProviderException; import javax.mail.Address; import javax.mail.internet.MimeMessage; import java.text.SimpleDateFormat; public final class YomunkoEmails { props.setProperty( "mail.store.protocol", "imaps" ); try { myWriter = new BufferedWriter( new FileWriter( "/home/diggler/Desktop/groovy_testing/BigBendHotSprings/BBHSHelpers.csv" ) ); myWriter.write( "\"Sent Date\",\"Subject\",\"From\",\"E-Mail\",\"Phone Number\",\"Skills & Interests\",\"Comments\"\n" ); } myIOE.printStackTrace(); } try { Session mySession = Session.getDefaultInstance( props, null ); Store myStore = mySession.getStore("imaps"); myStore.connect( host, username, password ); Folder inbox = myStore.getFolder("BBHS Helpers"); inbox.open(Folder.READ_ONLY); Message messages[] = inbox.getMessages(); for ( Message message:messages ) { Address addys[] = message.getReplyTo(); for ( Address addy:addys ) { //System.out.println( addy.toString() ); if ( message.getSubject().startsWith( "BigBendHotSprings.org Message from" ) ) { MimeMessage myMimeMessage = (MimeMessage) message; try { // System.out.println( messageSubject ); // System.out.println( sentDate ); if ( line.startsWith( "From:" ) ) { from = line.split(":")[1].trim(); } if ( line.startsWith( "Email:" ) ) { eMail = line.split(":")[1].trim(); } if ( line.startsWith( "Phone:" ) ) { phoneNumber = line.split(":")[1].trim(); } } skillsAndInterests = skillsAndInterests.replaceAll( "\n", "" ); skillsAndInterests = skillsAndInterests.replaceAll( "\"", "" ); skillsAndInterests = skillsAndInterests.replaceAll( ",", "" ); comments = comments.replaceAll( "\n", "" ); comments = comments.replaceAll( "\"", "" ); comments = comments.replaceAll( ",", "" ); // System.out.println( skillsAndInterests ); // System.out.println( comments ); myWriter.write( "\"" + sentDate + "\",\"" + messageSubject + "\",\"" + from + "\",\"" + eMail + "\",\"" + phoneNumber + "\",\"" + s\ killsAndInterests + "\",\"" + comments + "\"\n" ); } myIOE.printStackTrace(); } } } } } } e.printStackTrace(); } catch ( MessagingException e ) { e.printStackTrace(); } try { myWriter.close(); } myIOE.printStackTrace(); } } }
You need to login to post a comment.
