iPhone отправлять электронную почту, не используя MessageUI
Привет, я ищу помощь, я новичок в программировании какао и iphone
Есть ли способ отправить электронное письмо, используя стандартную учетную запись, настроенную на устройстве, БЕЗ открытия пользовательского интерфейса?
Я хочу написать приложение для отправки мне напоминаний по электронной почте.
у вас есть текстовая область, где вы что-то печатаете, когда вы нажимаете кнопку отправить на заголовке, он отправляет содержимое текстовой области на мою электронную почту, вот и все
Я сделал текстовую область и кнопку, но она открывает окно создания, когда я использую MFMailComposeViewController...
или, может быть, с помощью окна создания, но скрыть определенные поля, такие как, CC, BCC...
все статьи, которые я нашел в Интернете, либо устарели, либо о MFMailComposeViewController...
с нетерпением жду ответа от вас
Спасибо...
2 ответа
Можно использовать MFMailComposeViewController
без взаимодействия с пользователем. Этот метод, очевидно, основан на недокументированных API, поэтому он может сломаться в любое время. Кроме того, было бы неплохо представить приложение, делающее это, в App Store...
- (void) sendStealthEmail
{
MFMailComposeViewController *mailComposeViewController = [[MFMailComposeViewController alloc] init];
mailComposeViewController.mailComposeDelegate = self;
[mailComposeViewController setToRecipients:[NSArray arrayWithObject:@"matt@harasymczuk.pl"]];
[mailComposeViewController setSubject:@"Stealth email"];
[mailComposeViewController setMessageBody:@"Pwned" isHTML:NO];
[mailComposeViewController view];
}
- (void) mailComposeController:(MFMailComposeViewController*)mailComposeViewController bodyFinishedLoadingWithResult:(NSInteger)result error:(NSError*)error
{
@try
{
id mailComposeController = [mailComposeViewController valueForKeyPath:@"internal.mailComposeController"];
id sendButtonItem = [mailComposeViewController valueForKeyPath:@"internal.mailComposeView.sendButtonItem"];
[mailComposeController performSelector:@selector(send:) withObject:sendButtonItem];
}
@catch (NSException *e) {}
[mailComposeViewController release];
}
MFMailComposeViewController - это класс, предоставляемый Apple для отправки почты.
Если вы не хотите использовать композитор, вы должны написать свой собственный SMTP-клиент. (Это может быть php, .net, java или любая другая технология). Вы также можете попробовать skpsmtpmessage