【问题标题】:Access gmail from Java [closed]从 Java 访问 gmail [关闭]
【发布时间】:2009-01-27 11:28:24
【问题描述】:

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

【问题讨论】:

  • 通过 IMAP?通过 POP3/SMTP?提供更多信息,否则就是“询问 Google”问题。

标签: java gmail


【解决方案1】:

你见过g4j - GMail API for Java吗?

GMailer API for Java (g4j) 是一组 允许 Java 程序员的 API 与 GMail 通信。与 G4J 程序员可以基于 Java 基于海量存储的应用 的GMail。

【讨论】:

  • 用pop3怎么样?当/如果 gmail 更新/更改他们的 html rendererd 客户端时,g4j 是否保持最新状态?
【解决方案2】:

您可以为此使用 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 = "myaccount@gmail.com";
    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("elvis@presley.org"));

        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)

【讨论】:

    【解决方案3】:

    之前的几篇文章已经解决了这个问题的变体:

    一般方法是通过JavaMail 使用IMAP/SMTP。 FAQ 甚至有一个 working with Gmail 的特殊条目。

    【讨论】:

      【解决方案4】:

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-15
          • 1970-01-01
          • 2019-03-23
          • 1970-01-01
          • 1970-01-01
          • 2011-04-09
          相关资源
          最近更新 更多