【发布时间】:2009-01-27 11:28:24
【问题描述】:
我需要一个允许我使用 Java 在 Gmail 中进行电子邮件操作(例如发送/接收邮件)的库。
【问题讨论】:
-
通过 IMAP?通过 POP3/SMTP?提供更多信息,否则就是“询问 Google”问题。
我需要一个允许我使用 Java 在 Gmail 中进行电子邮件操作(例如发送/接收邮件)的库。
【问题讨论】:
GMailer API for Java (g4j) 是一组 允许 Java 程序员的 API 与 GMail 通信。与 G4J 程序员可以基于 Java 基于海量存储的应用 的GMail。
【讨论】:
您可以为此使用 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();
}
}
【讨论】:
之前的几篇文章已经解决了这个问题的变体:
一般方法是通过JavaMail 使用IMAP/SMTP。 FAQ 甚至有一个 working with Gmail 的特殊条目。
【讨论】:
【讨论】:
首先,将您的 Gmail 帐户配置为接受 POP3 访问。 然后,只需使用 Javamail 访问您的邮件帐户!
【讨论】: