Как работать с электронной почтой в приложении iOS? - PullRequest
3 голосов
/ 01 апреля 2011

Подскажите пожалуйста, как отправить электронное письмо?

Это означает, что у меня есть uibutton, когда пользователь щелкает, что я хочу получить некоторые данные из приложения и отправить их на почтовый идентификатор технического помощника ... Есть ли простой способ сделать это?

Ответы [ 4 ]

11 голосов
/ 01 апреля 2011

Вы должны использовать класс MFMailComposeViewController и протокол MFMailComposeViewControllerDelegate,

PeyloW предоставляет следующий код для этого в своем ответе здесь :

Сначала отправьте сообщение:

MFMailComposeViewController* controller = [[MFMailComposeViewController alloc] init];
controller.mailComposeDelegate = self;
[controller setSubject:@"My Subject"];
[controller setMessageBody:@"Hello there." isHTML:NO]; 
[self presentModalViewController:controller animated:YES];
[controller release];

Затем пользователь выполняет работу, и вы вовремя получаете ответный вызов делегата:

- (void)mailComposeController:(MFMailComposeViewController*)controller  
          didFinishWithResult:(MFMailComposeResult)result 
                        error:(NSError*)error;
{
  if (result == MFMailComposeResultSent) {
    NSLog(@"It's away!");
  }
  [self dismissModalViewControllerAnimated:YES];
}
8 голосов
/ 01 апреля 2011

Нет необходимости создавать UIButton.Вы должны использовать класс MFMailComposeViewController и протокол MFMailComposeViewControllerDelegate для отправки почты ..

Для простоты создания приложения электронной почты вы можете обратиться по следующей ссылке.

http://mobileorchard.com/new-in-iphone-30-tutorial-series-part-2-in-app-email-messageui/

это может быть полезно при создании вашего приложения

2 голосов
/ 01 апреля 2011

Я использую простой метод составления электронного письма и открытия его с помощью приложения Почта. Это также работает как подтверждение; если пользователь не хочет его отправлять, он может просто отменить. Так что нет необходимости добавлять «Вы уверены?» неожиданно возникнуть. Он также может добавить заметку или тому подобное.

    NSString *mailurl=[NSString stringWithFormat:
@"mailto:%@?subject=%@%@&body=%@%@",mailaddr,mailsubject,
recipientname,mailmessage,mailsignature];

    [[UIApplication sharedApplication] openURL:
[NSURL URLwithString:[mailurl stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding]]];

Это работает шарм, и я использую этот метод в нескольких приложениях:)

2 голосов
/ 01 апреля 2011

Если вы хотите отправить электронное письмо от учетной записи электронной почты вашего пользователя, вам нужно использовать MFMailComposeViewController , чтобы предоставить пользователю экран. Вы не можете / не должны отправлять электронные письма от учетной записи электронной почты пользователей без их разрешения!

В противном случае вы можете установить обычное SMTP-соединение с вашим сервером и использовать свои собственные данные для входа.

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