2015-01-06 89 views
0

我使用這個PHP代碼發送電子郵件,它工作如何在Android post請求一個JSON陣列添加到madrill API

$uri = 'https://mandrillapp.com/api/1.0/messages/send.json'; 

$postString = '{ 
"key": "mykey", 
"message": { 
"html": "this is the emails html content", 
"text": "this is the emails text content", 
"subject": "this is the subject", 
"from_email": "[email protected]", 
"from_name": "GW", 
"to": [ 
    { 
     "email": "[email protected]", 
     "name": "Alvaro" 
    } 
], 
"headers": { 

}, 
"track_opens": true, 
"track_clicks": true, 
"auto_text": true, 
"url_strip_qs": true, 
"preserve_recipients": true, 

"merge": true, 
"global_merge_vars": [ 

], 
"merge_vars": [ 

], 
"tags": [ 

], 
"google_analytics_domains": [ 

], 
"google_analytics_campaign": "...", 
"metadata": [ 

], 
"recipient_metadata": [ 

], 
"attachments": [ 

] 
}, 
    "async": false 
}'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $uri); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($ch, CURLOPT_POST, true); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); 

$result = curl_exec($ch); 

,我想打在Android發佈請求,但我不t知道我必須把電子郵件json陣列

protected String doInBackground(String... params) { 
     String path ="https://mandrillapp.com/api/1.0/messages/send.json"; 
     String json ="{...email information}" 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(path); 
     try { 
       //How i have to add te json string?? 
       httpclient.execute(httppost); 

     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

} 

如何在發送請求中發送帶有電子郵件信息的json字符串?

回答

0

嘗試添加entityheader

httpost.setEntity(new StringEntity(json, "UTF8")); 
httpost.setHeader("Content-Type", "application/json");