3

嗨,我正在寻求帮助,我是可可和 iphone 编程的新手

有没有办法使用设备上配置的标准帐户而不打开撰写 UI 来发送电子邮件?

我想编写一个应用程序来向我发送电子邮件提醒。

您有一个文本区域,您可以在其中输入内容,当您点击标题栏上的按钮发送时,它会将文本区域的内容发送到我的电子邮件,就是这样

我已经完成了文本区域和按钮的操作,但是当我使用 MFMailComposeViewController 时,它会打开一个撰写窗口...

或者可能使用撰写窗口,但隐藏某些字段,例如 to、cc、bcc...

我在互联网上找到的所有文章要么已经过时,要么关于 MFMailComposeViewController ......

期待听到你的重播

谢谢...

4

2 回答 2

10

MFMailComposeViewController无需用户交互即可使用。这种技术显然依赖于未记录的 API,因此它可能随时中断。此外,将执行此操作的应用提交到 App Store 也不是一个好主意……</p>

- (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];
}
于 2011-03-03T16:04:29.687 回答
2

MFMailComposeViewController 是 Apple 提供的用于发送邮件的类。

如果您不想使用作曲家,则必须编写自己的 smtp 客户端。(可以是 php、.net、java 或任何其他技术)。你也可以试试skpsmtpmessage

于 2011-03-02T19:31:09.560 回答