У меня есть приложение, где люди могут заполнить некоторые данные и отправить их на мой адрес электронной почты. Почта отправляется и работает нормально, за исключением того, что тело письма пуст.электронная почта с помощью сервера
Мой метод для связи:
-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if(!(buttonIndex == [actionSheet cancelButtonIndex])) {
NSString *post = nil;
post = [[NSString alloc] initWithFormat:@"Naam spel = %@ Uitleg= %@", spelnaam.text ,Uitleg.text];
NSLog(@"dit wordt verstuurd %@", post); //works fine!
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:@"http://www.myserver.nl/theemailfile.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
[ NSURLConnection connectionWithRequest:request delegate:self ];
[post release];
[self displayAlert];
}
}
Мой файл PHP:
<?php
$message = $_REQUEST['message'] ;
mail("[email protected]", "Test Message", $message);
?>
Вы должны изолировать это ли ваш клиент приложение, или это ваш сервер. У вас есть контроль над обоими, да? Во-первых, убедитесь, что определенные «postData'» не являются нулевыми, прежде чем вы выполните «NSURLConnection» (например, установите точку останова в Xcode). –
Почему вы не используете встроенный почтовый API для отправки электронной почты? –
Со встроенной почтой Api пользователь должен иметь включенную учетную запись электронной почты. –