我正在尝试通过Android设备上的Ionic 2应用程序通过mailgun发送日志文件。该文件是纯文本csv文件,我之前在应用程序中使用File.writeFile命令成功创建了该文件:
File.writeFile(cordova.file.externalRootDirectory, "data.csv", "...")
我可以通过Mailgun发送电子邮件,所以我知道基本配置设置正确。电子邮件被发送(包括主题和文本),但没有附件。我的最新方法是:
let formData = new FormData();
formData.append("from", "someone@gmail.com");
formData.append("to", "someone@gmail.com");
formData.append("subject", "test");
formData.append("text", "plain email works");
formData.append("attachment", cordova.file.externalRootDirectory + 'data.csv');
this.http.post("https://api:key-MYAPIKEY@api.mailgun.net/v3/MYDOMAIN/messages", formData)
.map(result => result.json())
.do(result => console.log("RESULT", JSON.stringify(result)))
.subscribe(result => {
console.log("SENT!");
}, error => {
console.log(error);
});
我还尝试明确说明Content-Type:
let headers = new Headers(
{
"Content-Type": "multipart/form-data",
"Authorization": "Basic " + MYAPIKEY //(base64 encoded)
}
);
let options = new RequestOptions({headers: headers});
this.http.post("https://api.mailgun.net/v3/"+this.mailgunUrl+"/messages", formData, options)
我没有传递路径和文件名,而是尝试使用File.getFile,但没有取得多大成功。如果有人能提供帮助,那就太好了。非常感谢!