Mailto iPhone Вопрос - PullRequest
       10

Mailto iPhone Вопрос

0 голосов
/ 16 июля 2010

Хорошо,

Обычный протокол, используемый для отправки электронной почты из формы на iPhone (из того, что я знаю), это отправка через приложение Mail. Этот код здесь:

-(IBAction)sendEmail {

    NSString *url = [NSString stringWithFormat: @"mailto:%@?body=%@", toEmail.text, content.text];
    [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];

    //status.text = @"Sending...";
}

Теперь я хочу, чтобы это была форма, в которую просто отправлялось письмо. Я не хочу, чтобы он проходил через почту или что-либо еще, и я хочу, чтобы он отправлял сообщения с заранее определенного адреса, такого как, например, mail@mydomain.com.

Как бы я это сделал?

Заранее спасибо.

Alex

Ответы [ 2 ]

1 голос
/ 16 июля 2010

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

для большей гибкости, я думаю, вам нужно использовать SMTP.

, что я делаю в своем проекте:

-(void)displayComposerSheet{
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:NSLocalizedString(@"MailSubject", @"")];
NSString *emailBody = NSLocalizedString(@"MailBody", @"");
[picker setMessageBody:emailBody isHTML:YES];
[self presentModalViewController:picker animated:YES];
[picker release];

}

тамЕсть также несколько методов делегатов, которые вы можете обрабатывать.все, что имеет отношение к MFMailComposeViewController, вы найдете здесь Справочник по классам MFMailComposeViewController

0 голосов
/ 18 июля 2010

MFMailCompose, похоже, отправляет почту с учетной записи устройства по умолчанию.

Я использую этот фрагмент кода в своем файле реализации для отправки по электронной почте обратной связи на заранее определенный адрес, на который я хочу их отправить.*

Он установлен на кнопку, которая отображает представление при нажатии.

-(IBAction) Feedback:(id)sender {
        NSArray *toRecipients = [NSArray arrayWithObject:@"xxxxxxxx"];
        MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
        picker.mailComposeDelegate = self;
        picker.navigationBar.tintColor = [UIColor colorWithRed:.0 green:.1706 blue:.3804 alpha:1];
        [picker setToRecipients:(NSArray *)toRecipients];
        [picker setSubject:@"Feedback"];

        [self presentModalViewController:picker animated:YES];
        [picker release];


}

Я поместил х, где у меня будет адрес электронной почты.Этот код также окрашивает панель навигации, в которой появляется моя форма почты.

Для этого требуются MessageUI и MFMailComposerDelegate.

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

...