Gmail4J is a simple, object oriented library for accessing Gmail services from Java.
Add the dependency to your pom.xml:
<dependency>
<groupId>com.googlecode.gmail4j</groupId>
<artifactId>gmail4j</artifactId>
<version>0.4</version>
</dependency>
Or use the latest and greatest snapshot:
<dependency>
<groupId>com.googlecode.gmail4j</groupId>
<artifactId>gmail4j</artifactId>
<version>0.5-SNAPSHOT</version>
</dependency>
GmailClient client = new RssGmailClient();
GmailConnection connection = new HttpGmailConnection(LoginDialog.getInstance().show("Enter Gmail Login"));
client.setConnection(connection);
final List<GmailMessage> messages = client.getUnreadMessages();
for (GmailMessage message : messages) {
System.out.println(message);
}
GmailClient client = new RssGmailClient();
GmailConnection connection = new HttpGmailConnection(LoginDialog.getInstance().show("Enter Gmail Login"));
client.setConnection(connection);
final List<GmailMessage> messages = client.getMessagesBy(GmailClient.EmailSearchStrategy.SUBJECT,
"Test mail subject. Unicode: ąžuolėlį");
for (GmailMessage message : messages) {
System.out.println(message);
}
GmailClient client = new RssGmailClient();
GmailConnection connection = new HttpGmailConnection(LoginDialog.getInstance().show("Enter Gmail Login"));
client.setConnection(connection);
final List<GmailMessage> messages = client.getMessagesBy(GmailClient.EmailSearchStrategy.DATE_GT,
new Date().toString());
for (GmailMessage message : messages) {
System.out.println(message);
}
GmailClient client = new RssGmailClient();
GmailConnection connection = new HttpGmailConnection(LoginDialog.getInstance().show("Enter Gmail Login"));
client.setConnection(connection);
final List<GmailMessage> messages = client.getMessagesBy(
GmailClient.EmailSearchStrategy.KEYWORD,"Unicode");
for (GmailMessage message : messages) {
System.out.println(message);
}
GmailClient client = new RssGmailClient();
HttpGmailConnection connection = new HttpGmailConnection(LoginDialog.getInstance().show("Enter Gmail Login"));
connection.setProxy("proxy.example.com", 8080);
connection.setProxyCredentials(LoginDialog.getInstance().show("Enter Proxy Login"));
client.setConnection(connection);
final List<GmailMessage> messages = client.getUnreadMessages();
for (GmailMessage message : messages) {
System.out.println(message);
}
There are more examples in API docs.
To build a jar, run:
mvn clean package
You will be asked for valid Gmail account username/password to run the tests. You can register Gmail account for this purpose or use your own. Registering fresh test account is recommended.
You can also skip tests when building a jar:
mvn clean package -Dmaven.test.skip=true
For reports, API docs and more, please check Gmail4j Maven Site.