java: javamail 1.6.2 Create Receive Email using jdk 19
尝试获取编码(pop3message.getEncoding()),则会获得此contentType(UTF-8一个)
/**
* 接收邮件
* 中文是乱码 未解决
* @param pop3Host pop.163.com
* @param storeType pop3
* @param user geovindu@163.com
* @param password geovindu
* @author geovindu
* @serialData@
*
*
* **/
public static void DuReceiveEmail(String pop3Host,String storeType, String user, String password){
Properties props = new Properties();
props.put("mail.pop3.host", pop3Host);
props.put("mail.pop3.port", "110");
props.put("mail.pop3.starttls.enable", "false");
props.put("mail.store.protocol", "pop3");
Session session = Session.getInstance(props);
try {
Store mailStore = session.getStore(storeType);
mailStore.connect(pop3Host, user, password);
Folder folder = mailStore.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message[] emailMessages = folder.getMessages();
System.out.println("Total Message - "
+ emailMessages.length);
//Iterate the messages
for (int i = 0; i < emailMessages.length; i++) {
Message message = emailMessages[i];
Address[] toAddress =
message.getRecipients(Message.RecipientType.TO);
System.out.println();
System.out.println("Email " + (i+1) + "-");
System.out.println("Subject - " + message.getSubject());
System.out.println("From - " + message.getFrom()[0]);
System.out.println("To - ");
for(int j = 0; j < toAddress.length; j++){
System.out.println(toAddress[j].toString());
}
System.out.println("Text - " +
message.getContent().toString());
}
folder.close(false);
mailStore.close();
} catch (Exception e) {
e.printStackTrace();
System.err.println("Error in receiving email.");
}
}
/**
* 接收邮件
* 中文是乱码 未解决
* @param pop3Host pop.163.com
* @param storeType pop3 imap
* @param user geovindu@163.com
* @param password
* @author geovindu
*
*
* **/
public static void receiveEmail(String pop3Host, String storeType, String user, String password) {
try {
//1) get the session object
Properties properties = new Properties();
properties.put("mail.pop3.host", pop3Host);
Session emailSession = Session.getDefaultInstance(properties);
//2) create the POP3 store object and connect with the pop server
POP3Store emailStore = (POP3Store) emailSession.getStore(storeType);
emailStore.connect(user, password);
//3) create the folder object and open it
Folder emailFolder = emailStore.getFolder("INBOX");
emailFolder.open(Folder.READ_ONLY);
//获取邮箱基本信息
// Map<String, Integer> map = DuMailHelper.emailInfo(emailFolder);
// System.out.println(map);
//4) retrieve the messages from the folder in an array and print it
Message[] messages = emailFolder.getMessages();
// parseMessage(messages);
for (int i = 0; i < messages.length; i++) {
Message message = messages[i];
System.out.println("---------------------------------");
System.out.println("Email Number " + (i + 1));
System.out.println("Subject: " + message.getSubject());
System.out.println("From: " + message.getFrom()[0]);
System.out.println("Text: " + message.getContent().toString());
}
//5) close the store and folder objects
emailFolder.close(false);
emailStore.close();
} catch (NoSuchProviderException e) {e.printStackTrace();}
catch (MessagingException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}
https://javaee.github.io/javamail/FAQ#commonmistakes
https://www.geeksforgeeks.org/sending-email-java-ssltls-authentication/
https://stackoverflow.com/questions/13980922/java-mail-api-encoding-problems
https://www.go4expert.com/articles/send-receive-mails-java-javamail-t3649/
https://community.oracle.com/tech/developers/discussion/1590874/send-an-email-encoded-in-utf-8-with-javamail-character-problems
https://javaee.github.io/javamail/docs/api/
QQ邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:
|
类型 |
服务器名称 |
服务器地址 |
非SSL协议端口号 |
SSL协议端口号 |
|
发件服务器 |
SMTP |
smtp.qq.com |
25 |
465/587 |
|
收件服务器 |
POP |
pop.qq.com |
110 |
995 |
|
收件服务器 |
IMAP |
imap.qq.com |
143 |
993
|
163邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:
| 类型 | 服务器名称 | 服务器地址 | SSL协议端口号 | 非SSL协议端口号 |
| 收件服务器 | POP | pop.163.com | 995 | 110 |
| 收件服务器 | IMAP | imap.163.com | 993 | 143 |
| 发件服务器 | SMTP | smtp.163.com | 465/994 | 25 |
浙公网安备 33010602011771号