如何在我的网站上创建一个按钮,用于在移动设备上打开电子邮件客户端

How to i create a button on my website which opens email client on mobile

您好,我想在我的网站上创建一个名为“打开我的收件箱”的按钮。 (哪个用户可以快速打开自己的邮箱收件箱验证收到的邮件进行账户验证) 当用户单击该按钮时,它应该会显示移动设备上可用的电子邮件应用程序,例如(gmail、yahoo 或默认)

我知道 mailto: 链接,但是有没有打开默认或其他电子邮件应用程序的解决方案

从下面选择。自从我知道以来,技巧就在 mailto 中可用。 将会发生的是它会触发一个意图或有时称为本机意图。

示例:在桌面上,如果系统中配置了电子邮件客户端,它将启动。在 windows 上,浏览器向系统发送电子邮件意图,然后系统检查注册表,如果有某些软件挂在该意图上,它将启动并将数据填充到软件中。如果没有,它将抛出奇怪的错误或者只是保持沉默。

在移动设备上也是如此,如果有任何应用挂钩,它将启动它。在大多数情况下,它会默认将它自己路由到一组,说实话,手机上总是有一个默认的电子邮件应用程序。

意图示例。如果你有 Instagram 或 facebook 应用 运行。转到 google 搜索用户名,然后单击结果进行查看,弹出窗口会在 facebook/Instagram 中打开或继续使用浏览器。那是在后台工作的意图。

除了触发此功能外,您对整个过程没有太多控制权。

<button style="background-color: blue; color:white;" onclick="location.href='takeme@there.com';">Send Email</button>

<button  style="background-color: blue;"><a href="mailto:takeme@there.com"  style=" color:white;">Send Email</a></button>

<a href="mailto:takeme@there.com" style="display:inline-block; height:20px;width:80px;background-color: blue; color:white;">Send Email</a>

进一步阅读

web intent

android intent

任何网站都无法提前检测网站用户是否在他们的笔记本电脑、计算机或设备上安装了电子邮件客户端。因此即使用户没有电子邮件应用程序,mailto 也会尝试 运行。

在 php 或 asp.net 的帮助下使用联系电子邮件 phone 或手机号码和姓名创建联系我们页面是用户与我们联系和沟通的更好选择.

有关 mailto 和联系表单比较的更多详细信息,请访问 -

这将有助于您进行移动相关查询...

https://css-tricks.com/all-about-mailto-links/

下面的链接是关于 mailto 和联系表格的更多信息....

https://www.google.com/amp/s/www.campaignmonitor.com/blog/email-marketing/should-i-use-a-mailto-or-link-to-a-contact-form/m/

https://www.uncinc.nl/nl/articles/dealing-mailto-links-if-no-mail-client-available

在您的 MainActivity.java 中为所需的服务定义 ButtonIntent

package com.example.myapplication;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = findViewById(R.id.idbtn);
    }
    public void btnClick(View v){

        Intent i = new Intent(Intent.ACTION_SEND);
        i.setData(Uri.parse("email"));
        String[] s={"abc@gmail.com","xyz@gmail.com"};
        i.putExtra(Intent.EXTRA_EMAIL,s);
        i.putExtra(Intent.EXTRA_SUBJECT, "This is a Subject");
        i.putExtra(Intent.EXTRA_TEXT,"Hi, This is the Email Body");
        i.setType("message/rfc822");
        Intent chooser = Intent.createChooser(i,"Launch Email");
        startActivity(chooser);
    }
}

之后您将在 activity_main.xml 中设置您的 Button:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="horizontal">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/idbtn"
        android:onClick="btnClick"
        android:text="Launch Email"
        android:layout_gravity="center"/>
</LinearLayout>

AndroidManifest.xml

中定义 permission.INTERNET
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapplication">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application

servicesintent 通过单击启动电子邮件 Button 像这样: