2012-06-07 3 views
0

내 응용 프로그램에서 MFMailComposer를 사용하여 전자 메일을 보낼 수 있습니다. 내 iPhone에 Gmail 계정이있어 이메일을 보내려면 내 앱을 사용 중입니다. 다른 사용자에게 이메일을 보낼 수 있습니다.iPhone이 MFMailComposer를 사용하여 앱에서 이메일을 보내시겠습니까?

내 iPhone에 야후 계정이 있으며 내 앱을 이메일을 보내면 이메일을 보낼 수 없습니다.

정말 문제가되지 않습니다. MFMailComposer는 gmail 계정 만 사용하거나 m 코드를 잘못 사용합니다.

도와주세요.

-(void)SENDEMAIL 
{ 
    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init]; 
     mailComposer.mailComposeDelegate = self; 
     NSArray* arr = [[dictUser valueForKey:@"recipients"] componentsSeparatedByString:@","]; 
     NSLog(@"mailcomporeci%@",dictUser); 
     NSLog(@"arr:%@",arr); 
     [mailComposer setToRecipients:arr]; 

     //[mailComposer setSubject:[NSString stringWithFormat:@"Scheduled Email %@",arr]]; 
     [mailComposer setSubject:@"Scheduled Email"]; 
     [mailComposer setMessageBody:[dictUser objectForKey:@"message"] isHTML:NO]; 
     mailComposer.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
     [self.tabBarController presentModalViewController:mailComposer animated:YES]; 
     [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(hackMail:) userInfo:mailComposer repeats:NO]; 
     } 
    } 

-(void)hackMail:(NSTimer*)theTimer { 
    MFMailComposeViewController *mailController = theTimer.userInfo; 
    UIBarButtonItem *sendBtn = mailController.navigationBar.topItem.rightBarButtonItem; 
    id targ = sendBtn.target; 
    [targ performSelector:sendBtn.action withObject:sendBtn]; 
} 

#pragma mark Mail Compose Delegate Methods 
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { 

    switch (result) 
    { 
     case MFMailComposeResultCancelled: 
     { 
      break; 
     } 
     case MFMailComposeResultSaved: 
     { 
      break; 
     } 
     case MFMailComposeResultSent: 
     { 
      break; 
     } 
     case MFMailComposeResultFailed: { 

      break; 
     } 

     default: 
      break; 
    } 

    [self.tabBarController dismissModalViewControllerAnimated:YES]; 
} 
+0

오류가 무엇입니까? – Shri

+0

오류는 없지만 이메일은 내 야후 계좌에서 전송되지 않습니다. –

+0

기본 메일 응용 프로그램을 사용하여 야후 계좌에서 메일을 보낼 수 있습니까? 실패한 계정이 아니라면 MFMailVomposer가 한 계정에서만 작동하지만 다른 계정에서는 작동하지 않을 이유가 없습니다. – Jeremy1026

답변

1

그것을 시도하고 결과 확인 :

다음

내 코드입니다

if([MFMailComposeViewController canSendMail]){

[self presentModalViewController:mailController animated:YES];

}

이 당신의 장치가 될 수 있음을 구성되지 않았습니다메일을 보낼 계정

+0

Gmail 계정이 내 iPhone 장치에 추가 된 경우 m 앱에서 이메일을 보낼 수 있지만 Yahoo 장치가 내 장치에 추가 된 경우 앱에서 전자 메일을 보낼 수 없습니다. –

+1

그 이유는 야후와 Gmail의 메일 계정 자격 증명을 설정해야하기 때문입니다. 장치에서 설정으로 이동하면 메일, 연락처, 캘린더를 찾을 수 있습니다. 계정 추가로 이동하여 원하는 계정을 구성하십시오 (귀하의 경우 yahoo 및 gmail 모두). –

관련 문제