java接收邮件_Java实现邮件收发
时间: 2023-06-17 14:08:54 浏览: 105
java网络编程课程设计邮件收发系统源代码
5星 · 资源好评率100%
Java可以通过JavaMail API实现邮件的收发。下面是一个简单的JavaMail邮件收发的例子:
1. 导入JavaMail API的jar包。
2. 编写邮件收取代码:
```java
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class ReceiveMail {
public static void main(String[] args) {
// 邮箱的帐号和密码(替换为自己的邮箱和密码)
String user = "xxxxx@xxx.com";
String password = "xxxxx";
// 邮箱的服务地址
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.host", "imap.xxx.com");
props.setProperty("mail.imap.port", "993");
try {
// 连接邮箱
Session session = Session.getDefaultInstance(props);
Store store = session.getStore();
store.connect(user, password);
// 获取收件箱
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
// 获取邮件数量
int messageCount = folder.getMessageCount();
System.out.println("共有邮件:" + messageCount + "封");
// 获取前20封邮件
Message[] messages = folder.getMessages(1, 20);
// 遍历邮件并打印
for (Message message : messages) {
System.out.println("主题:" + message.getSubject());
System.out.println("发件人:" + message.getFrom()[0]);
System.out.println("收件人:" + message.getAllRecipients()[0]);
System.out.println("时间:" + message.getSentDate());
System.out.println("内容:" + message.getContent());
System.out.println("-------------------------------------------------------");
}
// 关闭收件箱和连接
folder.close(false);
store.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
3. 编写邮件发送代码:
```java
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class SendMail {
public static void main(String[] args) {
// 发件人邮箱地址和密码(替换为自己的邮箱和密码)
String from = "xxxxx@xxx.com";
String password = "xxxxx";
// 收件人邮箱地址(替换为自己的邮箱)
String to = "xxxxx@xxx.com";
// 邮件服务器地址
String host = "smtp.xxx.com";
// 创建会话
Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props);
try {
// 创建邮件
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("JavaMail邮件发送测试");
message.setText("这是一封JavaMail自动发送的测试邮件。");
// 发送邮件
Transport transport = session.getTransport("smtp");
transport.connect(host, from, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("邮件发送成功!");
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
```
以上就是一个简单的JavaMail邮件收发的例子,可以进行参考和学习。
阅读全文