2012-01-17 88 views
-1

我想知道從我的應用程序發送電子郵件的最簡單方法是什麼。Android - 電子郵件

我基本上有2個TextViews和我需要去的電子郵件中發送該信息2個的EditText框的頁面。

我也有一個包含用戶的電子郵件地址的EditText框。

我需要再使用enterered電子郵件地址,並搶得的信息,此頁面上的其餘部分上的按鈕點擊發送電子郵件給用戶。

我看過並嘗試過各種各樣的東西,但是沒有任何東西可以工作。有人能指出我的方向是正確的還是提供一個詳細的教程來解釋從頭到尾的整個過程。

最後,將在實際設備上這只是工作(連接到互聯網)?

在此先感謝。

+0

僅供將來參考,您需要接受正確答案以解決您的問題,否則無人會願意幫助您。 – bschultz

回答

4

試試這個:

Intent intent = new Intent(Intent.ACTION_SEND); 
intent.setType("plain/text"); 
intent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
intent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
intent.putExtra(Intent.EXTRA_TEXT, "mail body"); 
startActivity(Intent.createChooser(intent, "")); 

它只會在實際設備上運行。

+0

此代碼可以使用或不使用互聯網連接,因此沒有互聯網時沒有例外或任何東西。但顯然你不能發送沒有互聯網的郵件。 – Thommy

0

這是我用來發送電子郵件的代碼片段。請注意,此方法不是自動的,它會顯示您可以選擇的應用程序列表(默認電子郵件,Gmail,短信,evernote,彈簧墊等)。

final Intent emailIntent = new Intent(Intent.ACTION_SEND); 
    emailIntent.setType("text/plain"); 
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Test Message"); 
    emailIntent.putExtra(Intent.EXTRA_TEXT, "This is a test message"); 
    Uri attachment = null; 
    if (mAttachHTML && (attachment = writeToExternalStoragePublic()) != null) { 
     emailIntent.putExtra(Intent.EXTRA_STREAM, attachment); 
    } 
    startActivity(Intent.createChooser(emailIntent, getString(R.string.reporting_sharemessage))); 

這種方法似乎不適用於我在模擬器中,但在設備上完美工作。

0

到目前爲止發送電子郵件的最簡單方法是激發一個Intent要做到這一點,而不是實現自己的電子郵件發送功能。

您可以通過觸發android.content.Intent.ACTION_SENDIntent並將其他字段配置爲電子郵件字段來實現。進一步來說;

Intent.EXTRA_EMAIL,其目的地址

Intent.EXTRA_CC:複製地址,如果有的話

Intent.EXTRA_BCC:密件抄送地址(ES),如果有的話

Intent.EXTRA_TEXT:電子郵件

的身體

請注意,如果你使用EXTRA_TEXT,你應該設置,MIME類型爲text/plain的。如果您想發送其他內容類型,則應該使用EXTRA_STREAM,並以此方式提供數據。

相關問題