使用Java發送一封電子郵件,我怎麼會得到名稱旁邊打印到的電子郵件地址,最好是在這種風格?:Java電子郵件:獲取名稱打印旁邊的電子郵件地址
Joe A. Blow <[email protected]>
我有我的電子郵件列表中的*的.properties文件,像這樣的數據:
email_list_3 = Bob Smith<[email protected]>,Jane Doe<[email protected], Betty Crocker<[email protected]
我使用這個函數返回的性能每封電子郵件列表文件,如「email_list_3」,作爲一個數組列表:
私有靜態ArrayList setEmailList(String email_list_name)拋出異常{ Properties props = new Properties(); ArrayList email_list = new ArrayList();
try {
props.load(MailSender.class.getResourceAsStream("/email_lists.properties"));
email_list.addAll(Arrays.asList(props.getProperty(email_list_name).split(",")));
}// end try
catch (Exception e) {
logger.error("Failure populating email list: " + email_list_name + "\n",e);
}
return email_list;
} //函數結束setEmailLists()
接下來,我將收集的電子郵件地址(IM假設的名字仍然與他們?)到InternetAddresses像這樣
ArrayList<String> recipientsArray = null;
ArrayList<InternetAddress> addressTo = new ArrayList<InternetAddress>();
recipientsArray = getAnArrayListOfEmailAddresses();
for (String tempAddress: recipientsArray) {
if (tempAddress != null) {
addressTo.add(new InternetAddress(tempAddress));
}
}
數組
這是我會怎麼插入我的地址爲電子郵件消息:
InternetAddress[] to = new InternetAddress[addressTo.size()];
to = addressTo.toArray(to);
// processed in a for loop
tempAddress = (to[i]).getAddress();
MimeMessage msg = null;
msg = new MimeMessage(session);
msg.setSubject(subject);
msg.setFrom(new InternetAddress(fromAddressStringl));
msg.setRecipients(Message.RecipientType.TO, tempAddress);
對我來說,現在,它看起來像顯示在電子郵件地址旁邊顯示的名稱我使用InternetAddress的其他構造函數,它具有兩個參數,地址和名稱。
是這樣嗎,還是有我可以改變,這樣當的Java解析名稱+地址組合項目從我的文件會做自動的設置?
感謝很多提前
史蒂夫