Jumat, 14 Maret 2014

Membuat Aplikasi Android untuk Mengirim Email dengan Intent

Membuat Aplikasi Android untuk Mengirim Email dengan Intent hampir sama dengan Mengirim SMS dengan Intent. Cara ini adalah cara yang sangat sederhana untuk Mengirimkan Email dari Aplikasi Android yang kita buat.

Sama dengan sebelumnya, ketika penulis Browsing di Internet ternyata bermacam-macam cara untuk mengirim Email Menggunakan Intent, disini penulis gunakan keempat cara yang penulis temukan, silakan dicoba dan dipilih sendiri yang terbaik :)

Caranya pertama kita buat Project Android baru di Eclipse. Kemudian di MainActivity.java silakan masukkan kode program berikut ini :


package com.amijaya.send_email_intent;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

// http://cariprogram.blogspot.com
// nuramijaya@gmail.com

Button button1;
Button button2;
Button button3;
Button button4;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("message/rfc822");
intent.putExtra(Intent.EXTRA_EMAIL, "contohprogram.com@gmail.com");
intent.putExtra(Intent.EXTRA_SUBJECT, "Judul Email");
intent.putExtra(Intent.EXTRA_TEXT, "Isi email body.");

startActivity(Intent.createChooser(intent, "Send Email"));
}
});

button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent email = new Intent(Intent.ACTION_SEND);
   email.putExtra(Intent.EXTRA_EMAIL, new String[]{ "contohprogram.com@gmail.com"});
   //email.putExtra(Intent.EXTRA_CC, new String[]{ to});
   //email.putExtra(Intent.EXTRA_BCC, new String[]{to});
   email.putExtra(Intent.EXTRA_SUBJECT, "Test");
   email.putExtra(Intent.EXTRA_TEXT, "Isi Email");

   //need this to prompts email client only
   email.setType("message/rfc822");

   startActivity(Intent.createChooser(email, "Choose an Email client :"));
}
});

button3 = (Button)findViewById(R.id.button3);
button3.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"contohprogram.com@gmail.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "Testing");
i.putExtra(Intent.EXTRA_TEXT   , "Isi Test Email");
try {
   startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
   Toast.makeText(MainActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}
}
});

button4 = (Button)findViewById(R.id.button4);
button4.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
           "mailto","contohprogram.com@gmail.com", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Judul Email");
startActivity(Intent.createChooser(emailIntent, "Send email..."));
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

}

Pada desain tampilan pada file activity_main.xml, tambahkan empat buah Button sebagai berikut :

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send Email" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send Email" />

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send Email" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Send Email" />

</LinearLayout>

Konfigurasi di AndroidManifest.xml jika perlu ditambahkan Uses Permission INTERNET seperti ini :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.amijaya.send_email_intent"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="16" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.amijaya.send_email_intent.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Hasilnya akan ditampilkan Empat Buah Button yang ketika ditekan maka setiap masing-masing tombol tersebut mempunyai kegunaan yang sama yaitu memanggil Aplikasi / Fitur pengirim Email di Android dengan otomatis sudah menuliskan Alamat Email Tujuan, Subject (Judul) Email dan Isi Pesan Email, sehingga pengguna tinggal klik Send.


Fitur / Aplikasi Email yang terpanggil kira-kira akan tampak sebagai berikut :


File project selengkapnya dapat anda download disini. Jika bingung cara download, silakan lihat caranya disini.

Semoga bermanfaat :D

2 komentar:

  1. mas mau tanya.. kalo misalkan pengirim email dia make yahoo mail (selain gmail) apa masih bisa buat ngirim ?

    tolong penjelesannya mas. karena mau saya buat TA saya

    BalasHapus
  2. Terimkasih tutorialnya, sangat bantu...

    BalasHapus