我創建了一個動態追加行的html頁面。 我創建了一個字符串數組來獲取值到servlet中。 現在,我正在嘗試給所有這些值發送一封電子郵件給自己。 爲此,我在我的servlet中使用java郵件API。 我如何給 message.setText()中的數組的字符串;如何在java電子郵件中插入語句
如果不可能,用字符串數組發送電子郵件有什麼不同的方法。
String[] items = request.getParameterValues("Item");
String[] categories = request.getParameterValues("Category");
String[] names = request.getParameterValues("Name");
String[] quantities = request.getParameterValues("Quantity");
System.out.println("************ExperimentServlet************");
for (String item : items) {
System.out.println("Item is : "+item);
}
for(String category : categories) {
System.out.println("Category is : "+category);
}
for(String name : names) {
System.out.println("Name is : "+name);
}
for(String quantity : quantities) {
System.out.println("Quantity is : "+quantity);
}
for(int i=0; i<20; i++) {
System.out.println("Item 1 is :" + items[i]);
System.out.println("Category 1 is :"+ categories[i]);
System.out.println("Name 1 is :"+ names[i]);
System.out.println("Quantity 1 is : "+quantities[i]);
}
Properties props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "587");
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]", "xyz");
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("[email protected]"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("[email protected]"));
message.setSubject("My eMail First Example");
message.setText("Dear Mail Crawler,"
+ "\n\n No spam to my email, please!"
+ "\n\n" + items[i] + " " + categories[i]+ " "+ names[i]+ " "+ quantities[i]
);
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
如果我這樣做,我能夠與值發送電子郵件超過20組值較少,但事情是它顯示出界外的數組索引如果我供應不足20套價值。不保證每個用戶提供20組值。
哪些錯誤與來自陣列準備字符串?遍歷數組並準備一個字符串。 –
使用所需數據發送CSV文件(附件),您可以忘記HTML郵件(僅在需要時)。 –
@PaulVargas並非所有最終用戶都感覺良好,可以打開並解析用於閱讀電子郵件的csv = \ –