【问题标题】:How to open Gmail compose with predefined message body with HTML content如何使用带有 HTML 内容的预定义邮件正文打开 Gmail 撰写
【发布时间】:2021-08-20 16:35:18
【问题描述】:

有没有办法在撰写模式下打开 Android(或 iOS)Gmail 应用程序,预定义的邮件正文可以包含 HTML(主要是链接)。

如果我尝试打开 url 方案 mailto:RECIPIENT?subject=SUBJECT&body=BODY,如果它是您的默认电子邮件客户端,它肯定会打开 Gmail,但所有 HTML 标记在邮件正文中显示为 HTML 标记而不是格式化文本。

我尝试了expo-intent-launcher 包,但我只能打开 Gmail 应用程序。我没有找到任何关于我应该尝试在撰写模式下打开它的意图和参数的信息:

const activityAction = 'android.intent.action.MAIN' // Intent.ACTION_MAIN
const intentParams: IntentLauncher.IntentLauncherParams = {
    flags: 268435456, // Intent.FLAG_ACTIVITY_NEW_TASK
    category: 'android.intent.category.APP_EMAIL', // Intent.CATEGORY_APP_EMAIL
}

IntentLauncher.startActivityAsync(activityAction, intentParams)

我的项目将 React Native 与 Expo 结合使用。有什么建议吗?

【问题讨论】:

    标签: react-native gmail expo


    【解决方案1】:

    您可以使用纯 JavaScript 函数,使用参数 subject 和 body 和 mailto:

    ⚠️ subject 和 body 格式正确,例如 encodeURI

    例子:

      const composeEmail = () => {
        const email = `mailto:${supportEmail}?subject=${subject}&body=${body}`;
        Linking.openURL(email).catch((error) =>
          console.error("composeEmail -> error", error)
        );
      };
    
    <TouchableOpacity
      onPress={composeEmail}
    >
      <Text>Contact-us</Text>
    </TouchableOpacity>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 2019-03-08
      • 1970-01-01
      • 2014-11-16
      相关资源
      最近更新 更多