如何在 Android 应用中发送电子邮件? [复制]

Posted

技术标签:

【中文标题】如何在 Android 应用中发送电子邮件? [复制]【英文标题】:How can I send an email in android app? [duplicate] 【发布时间】:2016-10-16 22:37:25 【问题描述】:

如何在 android 应用中向静态收件人发送电子邮件

<EditText android:id="@+id/from"
            android:drawableStart="@drawable/ic_settings_phone_black_24dp"
            android:drawableLeft="@drawable/ic_settings_phone_black_24dp"
            android:layout_
            android:layout_
            android:inputType="number"
            android:ems="10"
            android:hint="From" />
<EditText android:id="@+id/et_subject"
            android:drawableStart="@drawable/ic_settings_phone_black_24dp"
            android:drawableLeft="@drawable/ic_settings_phone_black_24dp"
            android:layout_
            android:layout_
            android:inputType="number"
            android:ems="10"
            android:hint="Subject" />
<EditText android:id="@+id/et_message"
            android:drawableStart="@drawable/ic_settings_phone_black_24dp"
            android:drawableLeft="@drawable/ic_settings_phone_black_24dp"
            android:layout_
            android:layout_
            android:inputType="number"
            android:ems="10"
            android:hint="message" />

你能帮帮我吗 提前致谢

【问题讨论】:

【参考方案1】:

使用这个

    String adress = ((EditText)findViewById(R.id.from)).getText();
    String subject = ((EditText)findViewById(R.id.et_subject)).getText();
    String message = ((EditText)findViewById(R.id.et_message)).getText();

    Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("message/rfc822");
    i.putExtra(Intent.EXTRA_EMAIL  , new String[]adress);
    i.putExtra(Intent.EXTRA_SUBJECT, subject);
    i.putExtra(Intent.EXTRA_TEXT   , message);
    try 
        startActivity(Intent.createChooser(i, "Send mail..."));
     catch (android.content.ActivityNotFoundException ex) 
        Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
    

【讨论】:

谢谢,但我收到此错误无法解析方法 'putExtra(java.lang.String,android.widget.EditText)' 地址是发件人邮箱吗?收件人电子邮件地址在哪里 代替: i.putExtra(Intent.EXTRA_EMAIL , new String[]adress);试试这个:intent.setData(Uri.parse("mailto:foo@bar.com")); 另外,使用 ACTION_SENDTO 而不是 ACTION_SEND。

以上是关于如何在 Android 应用中发送电子邮件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中发送电子邮件? [复制]

如何在 VC++ 中发送电子邮件?

在 Android 中发送电子邮件时在 StartActivity() 中使用 Intent.createChooser() 的目的是啥

如何在iOS5中发送电子邮件到后台的收据?

如何根据新的安全策略在 .Net 中发送电子邮件?

如何根据新的安全策略在 .Net 中发送电子邮件?