Java Mail常见问题解答
如何在Java中发送电子邮件?
Java Mail提供了一个简单的API来发送电子邮件。以下是一个演示代码,展示如何使用Java Mail发送电子邮件:
import javax.mail.*;
import javax.mail.internet.*;
public class SendEmail {
public static void main(String[] args) {
// 设置发件人和收件人地址
String from = "sender@example.com";
String to = "recipient@example.com";
// 设置邮件主题和内容
String subject = "Hello from Java Mail";
String content = "This is an email sent using Java Mail.";
// 创建一个邮件会话并连接到服务器
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.example.com");
props.put("mail.smtp.port", "587");
Session session = Session.getDefaultInstance(props, null);
try {
// 创建一个邮件消息体
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(content);
// 发送邮件
Transport.send(message);
System.out.println("Email sent successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
如何使用Java Mail连接到SMTP服务器?
Java Mail提供了不同的方式来连接到SMTP服务器。最常用的是使用java.mail.Session
类。以下是一个演示代码,展示如何使用java.mail.Session
连接到SMTP服务器:
import javax.mail.*;
import javax.mail.internet.*;
public class ConnectToSmtpServer {
public static void main(String[] args) {
// 设置SMTP服务器地址和端口
String smtpHost = "smtp.example.com";
int smtpPort = 587;
// 创建一个邮件会话并连接到服务器
Properties props = new Properties();
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.port", smtpPort);
Session session = Session.getDefaultInstance(props, null);
try {
// 连接到SMTP服务器
session.connect();
System.out.println("Connected to SMTP server successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
如何使用Java Mail连接到POP3服务器?
Java Mail可以使用javax.mail.Store
类连接到POP3服务器。以下是一个演示代码,展示如何使用javax.mail.Store
连接到POP3服务器:
import javax.mail.*;
import javax.mail.internet.*;
public class ConnectToPop3Server {
public static void main(String[] args) {
// 设置POP3服务器地址和端口
String pop3Host = "pop3.example.com";
int pop3Port = 995;
// 创建一个邮件会话并连接到服务器
Properties props = new Properties();
props.put("mail.pop3.host", pop3Host);
props.put("mail.pop3.port", pop3Port);
Session session = Session.getDefaultInstance(props, null);
try {
// 连接到POP3服务器
Store store = session.getStore("pop3");
store.connect();
System.out.println("Connected to POP3 server successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
如何使用Java Mail连接到IMAP服务器?
Java Mail可以使用javax.mail.Store
类连接到IMAP服务器。以下是一个演示代码,展示如何使用javax.mail.Store
连接到IMAP服务器:
import javax.mail.*;
import javax.mail.internet.*;
public class ConnectToImapServer {
public static void main(String[] args) {
// 设置IMAP服务器地址和端口
String imapHost = "imap.example.com";
int imapPort = 993;
// 创建一个邮件会话并连接到服务器
Properties props = new Properties();
props.put("mail.imap.host", imapHost);
props.put("mail.imap.port", imapPort);
Session session = Session.getDefaultInstance(props, null);
try {
// 连接到IMAP服务器
Store store = session.getStore("imap");
store.connect();
System.out.println("Connected to IMAP server successfully.");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}