Отправка в приложении электронной почты - PullRequest
1 голос
/ 15 мая 2011

Мне нужно отправить электронное письмо, не выходя из приложения, поскольку тема и тело уже заданы приложением.Я уже знаю, как отправить электронное письмо, но мне нужно выйти из приложения в почтовое приложение и нажать «Отправить», чтобы вернуться в свое приложение.Разве я не могу просто отправить электронное письмо без выхода или, по крайней мере, без необходимости нажимать кнопку «Отправить», разве не может быть какая-то структура, которая автоматически отправляет электронное письмо?*

Ответы [ 5 ]

3 голосов
/ 09 июля 2013

Вот код:

(Не забудьте добавить каркас messageUI в свой проект !!!)

Сначала импортируйте каркас сообщения:

#import <MessageUI/MessageUI.h>

затем пометьте себя как делегата вот так

@interface MYViewController () <MFMailComposeViewControllerDelegate>

затем откройте композитор:

- (IBAction)supportPressed:(id)sender
{
    if ([MFMailComposeViewController canSendMail]) {
        MFMailComposeViewController *composeViewController = [[MFMailComposeViewController alloc] initWithNibName:nil bundle:nil];
        [composeViewController setMailComposeDelegate:self];
        [composeViewController setToRecipients:@[@"example@email.com"]];
        [composeViewController setSubject:@"example subject"];
        [self presentViewController:composeViewController animated:YES completion:NULL];
    }
}

Затем обработайте обратный вызов делегата и отклоните композитора:

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
    //Add an alert in case of failure
    [self dismissViewControllerAnimated:YES completion:nil];
}
2 голосов
/ 15 мая 2011

Вы можете использовать MFMailComposeViewController для отправки электронной почты из приложения. Вы можете использовать этот код внутри одного из ваших контроллеров представления (например, в ответ на нажатие кнопки). Обратите внимание, что вам нужно будет добавить платформу MessageUI в ваше приложение.

#import <MessageUI/MessageUI.h>

Код для представления контроллера просмотра почты:

MFMailComposeViewController *mail = [[[MFMailComposeViewController alloc] init] autorelease];

mail.mailComposeDelegate = self;

[mail setToRecipients:[NSArray arrayWithObject:@"email@example.com"]];
[mail setSubject:@"Set The Subject Here"];    

[self presentModalViewController:mail animated:YES];

См. Документацию о том, как реализовать mailComposeDelegate - вы можете использовать это для отклонения модального контроллера представления, когда электронное письмо отправлено или пользователь отменил задачу.

0 голосов
/ 30 августа 2013

Используйте этот короткий код, если вы не можете ввести жесткий код: Отправить почту

0 голосов
/ 15 мая 2011

Для отправки электронной почты в приложении вы можете использовать класс MFMailComposeViewController.

Как это:

if( [MFMailComposeViewController canSendMail] ) {
    MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init];
    [mailViewController setRecipients:[NSArray arrayWithObject:@"mail@address.com"]];
    [self.navigationController presentModalViewController:mailViewController animated:YES];
    [mailViewController release];
}
0 голосов
/ 15 мая 2011

Ищите MFMailComposeViewController . Также см. этот пост

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