Приложение ipad mail composer для отправки изображения на другой адрес - PullRequest
0 голосов
/ 27 июня 2011

Я сделал пример приложения ipad mail composer для отправки изображения на другой адрес. Поэтому я написал следующий код:

#import  <messageUI/MFMailComposeViewController.h>
//to compose mail
-(IBAction)composeMail{ 
    if([self validateImageView]){
        [self sendSelectedImage];
    }
    else{
        [self showAlert];
    }


}

//to validate image view
-(BOOL)validateImageView{
    if(selectedImageView.image){
        return YES;
    }
    else{
        return NO;
    }
}

//to send selected image
-(void)sendSelectedImage{   

    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    @try {
        picker.mailComposeDelegate = self;  
        [picker setSubject:@"Hello from Triassic!"];


        // Set up recipients
        NSArray *toRecipients = [NSArray arrayWithObject:@"shamsudheen@triassicsolutions.com"]; 
        NSArray *ccRecipients = [NSArray arrayWithObjects:@"shamsudheen@triassicsolutions.com", @"shamsudheen@triassicsolutions.com", nil]; 
        NSArray *bccRecipients = [NSArray arrayWithObject:@"shamsudheen@triassicsolutions.com"]; 

        [picker setToRecipients:toRecipients];
        [picker setCcRecipients:ccRecipients];  
        [picker setBccRecipients:bccRecipients];

        // Attach an image to the email 
        NSData *myData =  UIImagePNGRepresentation(selectedImageView.image);
        [picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"]; 
        // Fill out the email body text
        NSString *emailBody = @"It is raining in Trivandrum!";
        [picker setMessageBody:emailBody isHTML:NO];

        [self presentModalViewController:picker animated:YES];
    }
    @catch (NSException * ex) {
        NSLog([NSString stringWithFormat:@"%@",ex]);
    }
    @finally {
        [picker release];
    }

}

//to show a alert box
-(void)showAlert{   
    UIAlertView *alertView;     
    alertView = [[UIAlertView alloc] initWithTitle:@"Please select a image from PhotoAlbums!" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:@"Continue", nil];
    [alertView show];
    [alertView release];        
}

// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation==UIInterfaceOrientationLandscapeRight || interfaceOrientation==UIInterfaceOrientationLandscapeLeft);
}

#pragma mark -
#pragma mark Dismiss Mail/SMS view controller

// Dismisses the email composition interface when users tap Cancel or Send. Proceeds to update the 
// message field with the result of the operation.
- (void)mailComposeController:(MFMailComposeViewController*)controller 
          didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error {
    @try {
        feedbackMsg.hidden = NO;
        // Notifies users about errors associated with the interface
        switch (result)
        {
            case MFMailComposeResultCancelled:
                feedbackMsg.text = @"Mail sending canceled";
                break;
            case MFMailComposeResultSaved:
                feedbackMsg.text = @"Mail saved";
                break;
            case MFMailComposeResultSent:
                feedbackMsg.text = @"Mail sent";
                break;
            case MFMailComposeResultFailed:
                feedbackMsg.text = @"Mail sending failed";
                break;
            default:
                feedbackMsg.text = @"Mail not sent";
                break;
        }

    }
    @catch (NSException * ex) {
        NSLog([NSString stringWithFormat:@"%@",ex]);
    }
    @finally {
        [self dismissModalViewControllerAnimated:YES];
    }

}

, поэтому при нажатии кнопки составления будет отображаться всплывающее окно с введенным почтовым адресом и всеми подробностями. он показывает, что процесс отправки результата выполнен успешно. но я не получаю письмо на shamsudheen@triassicsolutions.com.may я знаю, в чем заключается ошибка, которую я сделал. могу я послать письмо через это на другое письмо, введя всплывающее окно через раздел адреса. Я думаю, что метод compose работает, когда всплывающее окно загружается. затем, как я могу отправить письмо на адрес, указанный в отображаемом popup.it не работает нормально? Могу ли я знать, в чем ошибка, которую я сделал

1 Ответ

2 голосов
/ 27 июня 2011

В симуляторе вы не можете отправлять почту, потому что если вы хотите сначала отправить почту другому человеку, вы должны установить свои почтовые детали (вы должны войти в свою учетную запись) в настройках учетной записи на устройстве. Но эта функция не существует в симуляторе. Вот почему вы не можете отправить электронное письмо с симулятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...