2016-01-22 50 views
0

我有一個數組,我想通過電子郵件發送。到目前爲止,我已經能夠使用下面的代碼成功發送它的[值1,值2,值3]格式:在Java中通過電子郵件發送數組

public static void EmailInfo(String[] args) { 
       String from = Username; 
       String pass = Password; 
       String[] to = { recep}; 
       String subject = "Subject Header"; 
       String body = Arrays.toString(Retrieve.CalcResults); 


       sendFromGMail(from, pass, to, subject, body); 
      } 
//Some more code here 

message.setSubject(subject); 
       message.setText(body); 
       Transport transport = session.getTransport("smtp"); 
       transport.connect(host, from, pass); 
       transport.sendMessage(message, message.getAllRecipients()); 
       transport.close(); 

正如你可以看到我不得不把我的整個陣列CalcResults一個新的字符串,然後作爲消息文本傳遞。當我編制body數組時,我在message.setText(body[])行中發現錯誤,表示此方法不適用於參數(String [])。

我該如何解決這個問題?

+0

我認爲這個教程可以幫助http://www.avajava.com/tutorials/lessons/how-do-i-send-an-email-in-java.html –

+0

我收到了很多電子郵件,但沒有一個曾經包含一個數組。 – Tobb

+0

你爲什麼將身體設置爲一個數組?這封電子郵件的期望結果是什麼? – terbubbs

回答

0

message.setText接受字符串。 您嘗試發送字符串[]。對於Java來說,這是另一回事。

我會建議創建一個接受String []的方法,並返回一個字符串 或使用類似Jackson的東西將String []轉換爲JSON字符串。