iOS 4+: нужно приложение для отправки нескольких писем с вложениями, но ПОЗЖЕ, не сразу - PullRequest
0 голосов
/ 06 сентября 2011

Я пишу приложение, которое будет в каком-то киоске. Многие люди будут использовать это. Мне нужно отправлять с него электронные письма, но пользователям не нужно входить в свои собственные учетные записи, поэтому в основном это займет их личный адрес электронной почты, а затем отправит им электронное письмо с использованием адреса электронной почты по умолчанию, уже настроенного на iPad / iPhone.

Тем не менее, я не хочу, чтобы какие-либо электронные письма отправлялись сразу - мне нужно, чтобы они кэшировались, а потом - когда администратор скажет об этом, он должен отправить их тогда - причина в том, что, хотя приложение может быть включено устройство, имеющее доступ к Интернету, может быть 3G ... или вообще не иметь доступа, но мне нужно подождать, пока оно не выйдет из киоска, и вернуться туда, где они смогут отправлять все электронные письма.

Возможно ли это с помощью стандартной встроенной функции электронной почты?

Или это тот тип вещей, для которого должен использоваться внешний почтовый сервер? Если да, знает ли кто-нибудь хороший учебник по электронной почте «в приложении» UIView, а затем отправляет электронные письма и вложения на внешний сервер для последующей отправки?

Большое спасибо

1 Ответ

2 голосов
/ 06 сентября 2011

Я не совсем уверен, понял ли я вашу точку зрения. Вы хотите отправить электронное письмо только тогда, когда можете быть уверены, что у вас правильное интернет-соединение?

С помощью стандартного Mail Composer созданная электронная почта будет передана в почтовое приложение и помещена в папку «Исходящие» для приложений, пока не будет доступно подключение к Интернету для отправки почты. Вы также можете проверить перед тем, как представить почтовому компоновщику определенное соединение (например, WLAN). Дело в том, что пользователь должен нажать кнопку отправки, чтобы передать почту в почтовый ящик почтовых приложений.

Вы можете составить письмо с таким вложением (в вашем файле .m):

-(void)displayComposerSheet 
{
    MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init];
    mailComposer.mailComposeDelegate = self;

    [mailComposer setSubject:@"This is the subject of my mail"];

    // Set up recipients
    NSArray *toRecipients = [NSArray arrayWithObject:@"user@host.com"]; 

    [mailComposer setToRecipients:toRecipients];

    // Attach an image to the email
    NSString *path = [[NSBundle mainBundle] pathForResource:@"ImageName" ofType:@"png"];
    NSData *myData = [NSData dataWithContentsOfFile:path];
    [mailComposer addAttachmentData:myData mimeType:@"image/png" fileName:@"ImageName"];

    //present the composer
    [self presentModalViewController:mailComposer animated:YES];
    [mailComposer release];
}

Не забудьте включить в файл .h вашего ViewController:

#import <MessageUI/MessageUI.h>
#import <MessageUI/MFMailComposeViewController.h>

Также заставьте Класс реагировать на протокол MFMailComposeViewControllerDelegate.

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