IOS JSON отправляет электронное письмо от Mandrill

У меня есть приложение IOS, которое я хотел бы отправить по электронной почте через Mandrill. Я пытался реализовать это, но это не работает, и я запутался.

При нажатии кнопки для отправки электронной почты из приложения IOS я регистрирую это сообщение об ошибке:

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

Мой код:

    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);

Пожалуйста, дайте мне знать, где я ошибаюсь.


person Steve    schedule 13.07.2014    source источник


Ответы (1)


Похоже, вы забыли \" после "контента".

Попробуйте написать свою переменную «post» следующим образом:

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

Я надеюсь, что это помогает.

person scollaco    schedule 13.07.2014
comment
Спасибо, я пропустил содержимое \ after. Также мне нужно было добавить \ перед каждым \n - person Steve; 14.07.2014