|
@@ -46,6 +46,20 @@ public class EmailUtil {
|
|
|
// System.out.println();
|
|
|
// }
|
|
|
|
|
|
+ // public static void main(String[] args) throws Exception {
|
|
|
+ // ObsFile attachment = new ObsFile();
|
|
|
+ // attachment.setFileUrl("https://os.winfaster.cn/fjhx/saas/GrandStar/2023/03/08/png/3092592f2d614d83854fad5e4c107143.png");
|
|
|
+ // attachment.setFileName("board-1.png");
|
|
|
+ // SendDto.Address address = new SendDto.Address();
|
|
|
+ // address.setAddress("2428241269@qq.com");
|
|
|
+ // SendDto sendDto = new SendDto();
|
|
|
+ // sendDto.setTo(Collections.singletonList(address));
|
|
|
+ // sendDto.setFileList(Collections.singletonList(attachment));
|
|
|
+ // sendDto.setSubject("测试标题");
|
|
|
+ // sendDto.setContent("测试内容");
|
|
|
+ // sendMail("imap.qq.com", "2428241269@qq.com", "kdypajdrwfhtdihb", sendDto);
|
|
|
+ // }
|
|
|
+
|
|
|
/**
|
|
|
* 获取imapStore
|
|
|
* 993
|
|
@@ -83,36 +97,36 @@ public class EmailUtil {
|
|
|
return mailAddressList;
|
|
|
}
|
|
|
|
|
|
- private static void addMailAddressList(List<MessageDetailVo.MessageAddress> mailAddressList, Address[] addresses, Integer type) {
|
|
|
- if (addresses == null) {
|
|
|
- return;
|
|
|
+ /**
|
|
|
+ * 获取标签
|
|
|
+ */
|
|
|
+ public static String getFlags(Flags flags) {
|
|
|
+ if (flags == null) {
|
|
|
+ return StringPool.EMPTY;
|
|
|
}
|
|
|
- for (Address address : addresses) {
|
|
|
- InternetAddress internetAddress = (InternetAddress) address;
|
|
|
|
|
|
- MessageDetailVo.MessageAddress mailAddress = new MessageDetailVo.MessageAddress();
|
|
|
- mailAddress.setType(type);
|
|
|
- mailAddress.setEmail(internetAddress.getAddress());
|
|
|
- mailAddress.setPersonalName(internetAddress.getPersonal());
|
|
|
- mailAddressList.add(mailAddress);
|
|
|
+ Flags.Flag[] systemFlags = flags.getSystemFlags();
|
|
|
+ if (systemFlags.length == 0) {
|
|
|
+ return StringPool.EMPTY;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- //
|
|
|
- // public static void main(String[] args) throws Exception {
|
|
|
- // ObsFile attachment = new ObsFile();
|
|
|
- // attachment.setFileUrl("https://os.winfaster.cn/fjhx/saas/GrandStar/2023/03/08/png/3092592f2d614d83854fad5e4c107143.png");
|
|
|
- // attachment.setFileName("board-1.png");
|
|
|
- // SendDto.Address address = new SendDto.Address();
|
|
|
- // address.setAddress("2428241269@qq.com");
|
|
|
- // SendDto sendDto = new SendDto();
|
|
|
- // sendDto.setTo(Collections.singletonList(address));
|
|
|
- // sendDto.setFileList(Collections.singletonList(attachment));
|
|
|
- // sendDto.setSubject("测试标题");
|
|
|
- // sendDto.setContent("测试内容");
|
|
|
- // sendMail("imap.qq.com", "2428241269@qq.com", "kdypajdrwfhtdihb", sendDto);
|
|
|
- // }
|
|
|
+ StringJoiner stringJoiner = new StringJoiner(",");
|
|
|
+ for (Flags.Flag systemFlag : systemFlags) {
|
|
|
+ stringJoiner.add(MailFlagEnum.getType(systemFlag));
|
|
|
+ }
|
|
|
+ return stringJoiner.toString();
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取邮箱文件夹
|
|
|
+ */
|
|
|
+ public static List<String> getFolderNameList(IMAPStore imapStore) throws MessagingException {
|
|
|
+ IMAPFolder folder = (IMAPFolder) imapStore.getDefaultFolder();
|
|
|
+ Folder[] folders = folder.list();
|
|
|
+ List<String> mailFolderList = new ArrayList<>();
|
|
|
+ addMailFolderList(mailFolderList, folders);
|
|
|
+ return mailFolderList;
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* 发送邮件
|
|
@@ -201,6 +215,21 @@ public class EmailUtil {
|
|
|
transport.close();
|
|
|
}
|
|
|
|
|
|
+ private static void addMailAddressList(List<MessageDetailVo.MessageAddress> mailAddressList, Address[] addresses, Integer type) {
|
|
|
+ if (addresses == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (Address address : addresses) {
|
|
|
+ InternetAddress internetAddress = (InternetAddress) address;
|
|
|
+
|
|
|
+ MessageDetailVo.MessageAddress mailAddress = new MessageDetailVo.MessageAddress();
|
|
|
+ mailAddress.setType(type);
|
|
|
+ mailAddress.setEmail(internetAddress.getAddress());
|
|
|
+ mailAddress.setPersonalName(internetAddress.getPersonal());
|
|
|
+ mailAddressList.add(mailAddress);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private static InternetAddress[] getAddresses(List<SendDto.Address> addressList) throws UnsupportedEncodingException {
|
|
|
InternetAddress[] internetAddresses = new InternetAddress[addressList.size()];
|
|
|
for (int i = 0; i < addressList.size(); i++) {
|
|
@@ -212,37 +241,6 @@ public class EmailUtil {
|
|
|
return internetAddresses;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取标签
|
|
|
- */
|
|
|
- public static String getFlags(Flags flags) {
|
|
|
- if (flags == null) {
|
|
|
- return StringPool.EMPTY;
|
|
|
- }
|
|
|
-
|
|
|
- Flags.Flag[] systemFlags = flags.getSystemFlags();
|
|
|
- if (systemFlags.length == 0) {
|
|
|
- return StringPool.EMPTY;
|
|
|
- }
|
|
|
-
|
|
|
- StringJoiner stringJoiner = new StringJoiner(",");
|
|
|
- for (Flags.Flag systemFlag : systemFlags) {
|
|
|
- stringJoiner.add(MailFlagEnum.getType(systemFlag));
|
|
|
- }
|
|
|
- return stringJoiner.toString();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取邮箱文件夹
|
|
|
- */
|
|
|
- public static List<String> getFolderNameList(IMAPStore imapStore) throws MessagingException {
|
|
|
- IMAPFolder folder = (IMAPFolder) imapStore.getDefaultFolder();
|
|
|
- Folder[] folders = folder.list();
|
|
|
- List<String> mailFolderList = new ArrayList<>();
|
|
|
- addMailFolderList(mailFolderList, folders);
|
|
|
- return mailFolderList;
|
|
|
- }
|
|
|
-
|
|
|
private static void addMailFolderList(List<String> mailFolderList, Folder[] folders) throws MessagingException {
|
|
|
for (Folder folder : folders) {
|
|
|
int type = folder.getType();
|