• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - URL 方案附件 Microsoft Outlook 应用程序

[复制链接]
菜鸟教程小白 发表于 2022-12-13 16:36:46 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在尝试制作一个生成文件并填写所有电子邮件字段的应用程序,因此用户只需输入正文。我还让用户可以在原生 iOS 电子邮件应用程序和 Microsoft Outlook 应用程序(如果已安装)之间进行选择。
当我实现此功能以准备要在 native 电子邮件应用程序中发送的电子邮件时,我使用了 MessageUI 框架,可以轻松附加文件,但对于 Outlook 应用程序,我必须使用 URL 方案(ms -outlook://),似乎没有简单的方法(或根本没有方法)来附加文件。
是否有人通过 Outlook 应用成功地从另一个应用发送了附件?



Best Answer-推荐答案


我基于“总比没有好”发布此答案。我知道使用 iOS 应用程序无法发送带有预附加文件的电子邮件,因此我设法找到了一种方法,至少能够在电子邮件中发送图像文件。

// Create an array of recipients for the email.
NSArray* emailRecipients = @[@"example@email.com", @"example2@email.com"];

// Create a mutable string to hold all of the recipient email addresses and add the first one.
NSMutableString* emailTo = [[NSMutableString alloc] initWithString:emailRecipients[0]];

// Loop through all of the email recipients except for the first one.
for (int index = 1; index < emailRecipients.count; index++)
{
    // Add a semicolon and then the email address at the current index.
    [emailTo appendFormat";%@", emailRecipients[index]];
}

// Get the email subject from the subject text field.
NSString *emailSubject = @"Your Email Subject";

// Encode the string for URL.
NSString *encodedSubject = [emailSubject stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];

// Define your image's size
NSString *htmlBody = (@"<div style=\"width:450px;height:797px;\"><img src=\"http://your_website.com/your_image.jpg\" style=\"width:100%;height:100%;\"></div>");

// Encode the string for URL.
NSString* encodedBody = [htmlBody stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]];

// See if the subject or body are empty.
if (![emailSubject length] || ![emailBody length])
{
    // Exit.
    return;
}

// Create a string with the URL scheme and email properties.
NSString *stringURL = [NSString stringWithFormat"ms-outlook://compose?to=%@&subject=%@&body=%@", emailTo, encodedSubject, encodedBody];
// Convert the string to a URL.
NSURL *url = [NSURL URLWithString:stringURL];
// Open the app that responds to the URL scheme (should be Outlook).
[[UIApplication sharedApplication] openURL:url];

这很容易发送嵌入在电子邮件正文中的图像文件。您可能需要根据您的图像调整大小。

关于ios - URL 方案附件 Microsoft Outlook 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37304215/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap