2012-07-23 7 views

답변

7

APP에 이메일 보내는 방법은 무엇입니까?

- (IBAction)sendMail:(id)sender { 
    if ([MFMailComposeViewController canSendMail]) 
    { 
     MFMailComposeViewController *mailer = [[MFMailComposeViewController alloc] init]; 

     mailer.mailComposeDelegate = self; 

     [mailer setSubject:@"Message Pro"]; 

     //Destination adress 
     NSArray *toRecipients = [NSArray arrayWithObjects:@"your adress", nil]; 
     [mailer setToRecipients:toRecipients]; 

     //Attachement Object 
     UIImage *myImage = [UIImage imageNamed:@"image.jpeg"]; 
     NSData *imageData = UIImagePNGRepresentation(myImage); 
     [mailer addAttachmentData:imageData mimeType:@"image/png" fileName:@"mobiletutsImage"]; 

     //Message Body 
     NSString *emailBody = @"message body"; 
     [mailer setMessageBody:emailBody isHTML:NO]; 

     [self presentModalViewController:mailer animated:YES]; 

     [mailer release]; 
    } 
    else 
    { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure" 
                 message:@"Your device doesn't support the composer sheet" 
                 delegate:nil 
               cancelButtonTitle:@"OK" 
               otherButtonTitles: nil]; 
     [alert show]; 
     [alert release]; 
    } 
} 

-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error{ 
    switch (result) 
    { 
     case MFMailComposeResultCancelled: 
      NSLog(@"Mail cancelled: you cancelled the operation and no email message was queued."); 
      break; 
     case MFMailComposeResultSaved: 
      NSLog(@"Mail saved: you saved the email message in the drafts folder."); 
      break; 
     case MFMailComposeResultSent: 
      NSLog(@"Mail send: the email message is queued in the outbox. It is ready to send."); 
      break; 
     case MFMailComposeResultFailed: 
      NSLog(@"Mail failed: the email message was not saved or queued, possibly due to an error."); 
      break; 
     default: 
      NSLog(@"Mail not sent."); 
      break; 
    } 

    // Remove the mail view 
    [self dismissModalViewControllerAnimated:YES]; 
} 

은 .H 파일에 MessageUI.framework에게
  • 추가 대리자를 가져 IBAction = 센드 메일
  • 에 버튼을 추가
    1. 를 잊었하지 마십시오 MFMailComposeViewControllerDelegate
  • 0

    "보낸 사람"주소는 MFMailComposeViewController에 의해 지정되며 사용자는 메일 작성보기를 볼 때 구성된 메일 계정으로 대체 할 수 있습니다. 프로그래머는 "보낸 사람"주소를 가져 오거나 설정하는 것에 대해 걱정할 필요가 없습니다.