0

我有一个应用程序,人们可以在其中填写一些数据并将其发送到我的电子邮件。邮件已发送并且工作正常,只是邮件正文为空。

我的连接方法:

-(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( "emailadres@gmail.com", "Test Message", $message );
?>
4

1 回答 1

2

在您的 HTTP 请求中,您说您在请求正文中发送的信息属于 type application/x-www-form-urlencoded,但事实并非如此。它似乎只是自由格式的文本。您应该符合HTML 规范中描述的格式。您正在发送如下所示的消息:

Naam spel = test Uitleg= test

你需要发送这样的东西:

message=This+is+a+test&other=test
于 2013-03-21T11:23:52.023 回答