2016-01-22 46 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字符串。