2009-01-27 172 views
10

我需要一个库,允许我使用Java在Gmail中执行电子邮件操作(例如发送/接收邮件)。从Java访问Gmail

+6

该死的,谷歌再次下跌? – Bombe 2009-01-27 11:36:01

+1

通过IMAP?通过POP3/SMTP?提供更多信息,否则这是一个“询问Google”的问题。 – guerda 2009-01-27 11:39:19

回答

13

你见过g4j - GMail API for Java?为Java(G4J)

GMailer API被设置 API,允许Java程序员到 通信到Gmail。使用G4J 程序员可以制作基于Java的 应用程序,该应用程序基于GMail的巨大存储空间 。

+0

使用pop3怎么样?当gmail更新/更改他们的html rendererd客户端时,g4j会保持最新状态吗? – Zombies 2010-05-18 02:16:27

1

首先,将您的Gmail帐户配置为接受POP3访问。 然后,只需使用Javamail访问您的邮件帐户!

9

您可以使用Javamail。需要记住的是GMail使用SMTPS而不使用SMTP。

import javax.mail.*; 
import javax.mail.internet.*; 

import java.util.Properties; 


public class SimpleSSLMail { 

    private static final String SMTP_HOST_NAME = "smtp.gmail.com"; 
    private static final int SMTP_HOST_PORT = 465; 
    private static final String SMTP_AUTH_USER = "[email protected]"; 
    private static final String SMTP_AUTH_PWD = "mypwd"; 

    public static void main(String[] args) throws Exception{ 
     new SimpleSSLMail().test(); 
    } 

    public void test() throws Exception{ 
     Properties props = new Properties(); 

     props.put("mail.transport.protocol", "smtps"); 
     props.put("mail.smtps.host", SMTP_HOST_NAME); 
     props.put("mail.smtps.auth", "true"); 
     // props.put("mail.smtps.quitwait", "false"); 

     Session mailSession = Session.getDefaultInstance(props); 
     mailSession.setDebug(true); 
     Transport transport = mailSession.getTransport(); 

     MimeMessage message = new MimeMessage(mailSession); 
     message.setSubject("Testing SMTP-SSL"); 
     message.setContent("This is a test", "text/plain"); 

     message.addRecipient(Message.RecipientType.TO, 
      new InternetAddress("[email protected]")); 

     transport.connect 
      (SMTP_HOST_NAME, SMTP_HOST_PORT, SMTP_AUTH_USER, SMTP_AUTH_PWD); 

     transport.sendMessage(message, 
      message.getRecipients(Message.RecipientType.TO)); 
     transport.close(); 
    } 
} 

裁判:Send email with SMTPS (eg. Google GMail) (Javamail)