【问题标题】:send email without opening default mail app在不打开默认邮件应用程序的情况下发送电子邮件
【发布时间】:2016-07-30 12:53:28
【问题描述】:

我想直接从我的应用程序向电子邮件地址发送邮件,而无需打开设备上的默认邮件应用程序。可以做到这一点,即使可以做到,这是个好主意吗?苹果允许这样做吗?我在亚马逊的应用程序中看到了这一点,邮件是直接从应用程序发送的。我的客户希望我也这样做。请建议我如何做到这一点。 谢谢。

【问题讨论】:

  • 无法从邮件应用程序中完成。您必须在后端设置自己的 SMTP 服务器,然后使用 API 告诉服务器发送电子邮件。
  • 看看 MailGun。根据您的音量,它可能是免费的
  • 谢谢,客户争论必须点击发送按钮两次。(掌心!!)

标签: ios objective-c iphone


【解决方案1】:

试试 Apple 提供的默认功能 MFMailComposerViewController

试试下面的代码:

MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc]init];

if ([MFMailComposeViewController canSendMail]) {

    mailComposer.mailComposeDelegate = self;

    //[mailComposer.navigationBar setBarTintColor:APPTHEME_COLOR];

    //[mailComposer.navigationBar setTintColor:[UIColor blackColor]];

    [mailComposer.navigationBar setTitleTextAttributes:
     @{NSForegroundColorAttributeName:[UIColor blackColor]}];

    [mailComposer setToRecipients:[NSArray arrayWithObjects:@"support@trackidon.com", nil]];

    [mailComposer setSubject:[NSString stringWithFormat:@"Report from %@",[USERDEFAULTS objectForKey:USERNAME]]];

    [self presentViewController:mailComposer animated:YES completion:nil];

}

这将显示一个用于发送电子邮件的视图控制器。您可以编辑内容的地址、主题和正文。

这不会引导您退出应用程序。这将在应用程序本身内部发生。

希望对你有帮助..

【讨论】:

  • 但这确实显示了一个默认邮件应用程序的窗口,这是我不想要的,我之前用过这个但客户说不..
  • 我们不能在用户不知情的情况下发送邮件。如果您想拥有这样的功能,请进行一次后端 API 调用。进行 API 调用以从后端服务器发送邮件。
猜你喜欢
  • 2021-05-19
  • 2012-02-04
  • 1970-01-01
  • 2012-01-07
  • 2011-06-19
  • 2014-10-10
  • 1970-01-01
  • 2011-09-10
  • 2018-07-04
相关资源
最近更新 更多