2014-07-13 37 views
6

Tôi có một ứng dụng IOS mà tôi muốn gửi email qua Mandrill. Tôi đã cố gắng để thực hiện điều này, nhưng nó không làm việc và tôi bối rối bản thân mình.IOS JSON gửi email từ Mandrill

Khi nhấn nút để gửi một email từ các ứng dụng IOS tôi đăng nhập thông báo lỗi này:

{"status":"error","code":-1,"name":"ValidationError","message":"You must specify a key value"} 

Mã của tôi là:

NSString *post = [NSString stringWithFormat:@"{\"key\": \"abcdefg123456\", \"raw_message\": \"From: [email protected]\nTo: [email protected]\nSubject: Some Subject\n\nSome content.}"]; 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 

NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:[NSURL URLWithString:@"https://mandrillapp.com/api/1.0/messages/send-raw.json"]]; 
[request setHTTPMethod:@"POST"]; 
[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 
    NSLog(@"Post: %@", post); 

NSURLResponse *response; 
NSData *POSTReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil]; 
NSString *theReply = [[NSString alloc] initWithBytes:[POSTReply bytes] length:[POSTReply length] encoding: NSASCIIStringEncoding]; 
NSLog(@"Reply: %@", theReply); 

Xin vui lòng cho tôi biết nơi tôi sẽ sai. .

Trả lời

5

Có vẻ bạn quên \" sau khi "nội dung".

Cố gắng viết của bạn "bài" biến như sau:.

NSString *post = [NSString stringWithFormat:@"{\"key\": \"abcdefg123456\", \"raw_message\": \"From: [email protected]\nTo: [email protected]\nSubject: Some Subject\n\nSome content.\"}"]; 

Tôi hy vọng nó giúp

+0

cám ơn tôi đã làm bỏ lỡ nội dung \ sau. Ngoài ra, tôi đã được yêu cầu thêm \ trước mỗi \ n – Steve