2012-12-31 2 views
1

내 응용 프로그램에서 서버로 일부 데이터를 보내고 있습니다. 내 코드는 이후장치에서 보낸 사람 전자 메일을 얻는 방법?

-(void)createXML 
{ 
xmlStr = @"<?xml version='1.0'?>\n<jand_req>\n<inquiryList>\n<productArr>\n"; 
NSString *nameStr=[NSString stringWithFormat:@"<name>%@</name>\n",name.text]; 
xmlStr=[xmlStr stringByAppendingString:nameStr]; 
NSString *compNameStr=[NSString stringWithFormat:@"<comp_name>%@</comp_name>\n",compName.text]; 
xmlStr=[xmlStr stringByAppendingString:compNameStr]; 
NSString *cityStr=[NSString stringWithFormat:@"<city>%@</city>\n",city.text]; 
xmlStr=[xmlStr stringByAppendingString:cityStr]; 
NSString *countryStr=[NSString stringWithFormat:@"<country>%@</country>\n",[nameToCode objectForKey:country.text]]; 
xmlStr=[xmlStr stringByAppendingString:countryStr]; 
NSString *commentsStr=[NSString stringWithFormat:@"<comment>%@</comment>\n",commentsBox.text]; 
xmlStr=[xmlStr stringByAppendingString:commentsStr]; 
xmlStr=[xmlStr stringByAppendingString:@"</userDetail>\n</inquiryList>\n</jand_req>"]; 
} 

아래와 같이 내 데이터 내가 지금 내 코드가

- (void)submitForm 
{ 
[self createXML]; 

NSLog(@"myaccesscode%@",[fn getValFromSettings:@"accessCode"]); 
    NSString *serviceUrlStr=[NSString stringWithFormat:@"%@/%@/API_sendmail.php?access_code=%@",domainName,apiFolderPath,[fn getValFromSettings:@"accessCode"]]; 
    NSLog(@"%@",serviceUrlStr); 
    NSURL * serviceUrl = [NSURL URLWithString:[serviceUrlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 
    NSMutableURLRequest * serviceRequest = [NSMutableURLRequest requestWithURL:serviceUrl cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:100]; 
    [serviceRequest setValue:@"text/xml" forHTTPHeaderField:@"Content-type"]; 
    [serviceRequest setHTTPMethod:@"POST"]; 
    [serviceRequest setHTTPBody:[xmlStr dataUsingEncoding:NSUTF8StringEncoding]]; 
    NSURLConnection *conn=[[[NSURLConnection alloc] initWithRequest:serviceRequest delegate:self startImmediately:YES] autorelease]; 
} 

모든 위의 코드를 아래와 같이 서버에 위의 데이터를 전송 나를 위해 잘 작동하지만 서로 다른 필드로 구성 전 이 코드에 다른 기능을 포함시키려는 경우 발신자 전자 메일 주소로 구성되어 있지만이 보낸 사람 전자 메일은 응용 프로그램에서 MFMailComposeViewController를 사용할 때와 동일한 장치에서 가져와야하며 Device.Any 도움말에서 보낸 사람 전자 메일 주소를 자동으로 가져와야합니다 감사합니다.

답변

0
#import <AddressBook/AddressBook.h> 

NSString *emailAddr = @""; 
ABPerson *aPerson = [[ABAddressBook sharedAddressBook] me]; 
ABMultiValue *emails = [aPerson valueForProperty:kABEmailProperty]; 
if([emails count] > 0) 
    emailAddr = [emails valueAtIndex:0]; 

AddressBook.framework를 추가하는 것을 잊지 마십시오.

이제 emailAddr에는 xml 문자열에 추가 할 수있는 발신자 이메일이 포함되어 있습니다.

-(void)createXML 
{ 
    // Your code 
    NSString *emailStr=[NSString stringWithFormat:@"<email>%@</email>\n",emailAddr]; 
    xmlStr=[xmlStr stringByAppendingString:emailStr]; 
} 

행복한 코딩!

+0

빠른 응답을 보내 주셔서 감사합니다.하지만 서버에 데이터를 보낼 때 xmlStr에서이를 어떻게 추가 할 수 있습니까? – NSCool

+0

@NSCool 당신이 그것을 사용하고 싶다면 emailAddr을 사용할 수 있습니다! 내 업데이트 된 답변을 한번보세요! –

+0

oky 어떤 답장이 서버에서 나왔을 때이 코드를 사용하여 마지막으로 말한 것이 좋을 것 같습니다. 그 답장을 보낸 사람 전자 메일 주소로 보내야합니다. – NSCool

관련 문제