java mail 中文_java 邮件收发 (只能输入英文,中文需要转码)

//发件

package com.sun.mail;

import java.io.UnsupportedEncodingException;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class SendMail2 {

public static void main(String[] args) throws UnsupportedEncodingException {

boolean isSSL = true;

String host = "smtp.163.com";

int port = 465;

String from = "发件人地址";

String to = "收件人地址";

boolean isAuth = true;

final String username = "发件人地址";

final String password = "发件人地址密码";

Properties props = new Properties();

props.put("mail.smtp.ssl.enable", isSSL);

props.put("mail.smtp.host", host);

props.put("mail.smtp.port", port);

props.put("mail.smtp.auth", isAuth);

Session session = Session.getDefaultInstance(props, new Authenticator() {

@Override

protected PasswordAuthentication getPasswordAuthentication() {

return new PasswordAuthentication(username, password);

}

});

try {

Message message = new MimeMessage(session);

message.setFrom(new InternetAddress(from));

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

message.setSubject("测试邮件");

message.setText("bingo!");

Transport.send(message);

} catch (AddressException e) {

e.printStackTrace();

} catch (MessagingException e) {

e.printStackTrace();

}

System.out.println("发送完毕!");

}

}

//收件

package com.sun.mail;

import java.io.IOException;

import java.util.Date;

import java.util.Properties;

import javax.mail.Folder;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.NoSuchProviderException;

import javax.mail.Session;

import javax.mail.Store;

public class FetchMail2 {

public static void main(String[] args) throws IOException {

String protocol = "pop3";

boolean isSSL = true;

String host = "pop.qq.com";

int port = 995;

String username = "收件人地址";

String password = "收件人地址密码";//qq的现在需要用授权码

Properties props = new Properties();

props.put("mail.pop3.ssl.enable", isSSL);

props.put("mail.pop3.host", host);

props.put("mail.pop3.port", port);

Session session = Session.getDefaultInstance(props);

Store store = null;

Folder folder = null;

try {

store = session.getStore(protocol);

store.connect(username, password);

folder = store.getFolder("INBOX");

folder.open(Folder.READ_ONLY);

int size = folder.getMessageCount();

Message message = folder.getMessage(size);

String from = message.getFrom()[0].toString();

String subject = message.getSubject();

Date date = message.getSentDate();

System.out.println("From: " + from);

System.out.println("Subject: " + subject);

System.out.println("content:"+message.getContent());

System.out.println("Date: " + date);

} catch (NoSuchProviderException e) {

e.printStackTrace();

} catch (MessagingException e) {

e.printStackTrace();

} finally {

try {

if (folder != null) {

folder.close(false);

}

if (store != null) {

store.close();

}

} catch (MessagingException e) {

e.printStackTrace();

}

}

System.out.println("接收完毕!");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 = "[email protected]"; 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 = "[email protected]"; String password = "xxxxx"; // 收件人邮箱地址(替换为自己的邮箱) String to = "[email protected]"; // 邮件服务器地址 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邮件收发的例子,可以进行参考和学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值