java使用IMAP连接Gmail并解析邮件
发布时间:2020-05-25 14:17:03 所属栏目:Java 来源:互联网
导读:java使用IMAP连接Gmail并解析邮件
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 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 {
public static void main( String[] args ) {
String host = "imap.gmail.com";
String username = "myusername";
String password = "mypassword";
SimpleDateFormat myFormatter = new SimpleDateFormat( "yyyy-MM-dd",Locale.US );
Properties props = System.getProperties();
props.setProperty( "mail.store.protocol","imaps" );
BufferedWriter myWriter = null;
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" );
}
catch ( IOException myIOE ) {
myIOE.printStackTrace();
}
try {
Session mySession = Session.getDefaultInstance( props,null );
Store myStore = mySession.getStore("imaps");
myStore.connect( host,username,password );
System.out.println( myStore );
Folder inbox = myStore.getFolder("BBHS Helpers");
inbox.open(Folder.READ_ONLY);
Message messages[] = inbox.getMessages();
System.out.println( messages.length );
for ( Message message:messages ) {
Address addys[] = message.getReplyTo();
for ( Address addy:addys ) {
//System.out.println( addy.toString() );
if ( addy.toString().trim().equals( "alchemiculture <[emailprotected]>" ) ) {
if ( message.getSubject().startsWith( "BigBendHotSprings.org Message from" ) ) {
String messageSubject = message.getSubject();
String sentDate = myFormatter.format( message.getSentDate() );
MimeMessage myMimeMessage = (MimeMessage) message;
try {
// System.out.println( messageSubject );
// System.out.println( sentDate );
String messageContent = (String) myMimeMessage.getContent();
String messageContentLines[] = messageContent.split("n");
String from = "";
String eMail = "";
String phoneNumber = "";
for ( String line:messageContentLines ) {
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();
}
}
String messageContentSplits[] = messageContent.split("Skills and Interests:");
String messageContentSplitsII[] = messageContentSplits[1].split("Comments:");
String skillsAndInterests = messageContentSplitsII[0].trim();
skillsAndInterests = skillsAndInterests.replaceAll( "n","" );
skillsAndInterests = skillsAndInterests.replaceAll( ""","" );
skillsAndInterests = skillsAndInterests.replaceAll( ",","" );
String comments = messageContentSplitsII[1].trim();
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" );
}
catch ( IOException myIOE ) {
myIOE.printStackTrace();
}
}
}
}
}
}
catch ( NoSuchProviderException e ) {
e.printStackTrace();
}
catch ( MessagingException e ) {
e.printStackTrace();
}
try {
myWriter.close();
}
catch ( IOException myIOE ) {
myIOE.printStackTrace();
}
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
