2016-10-04 39 views
0

我已經實現了一個可以發送郵件的類。但是,您只能撰寫主題和消息,當您點擊「發送」時,您必須選擇要發送郵件的應用程序(Outlook或Gmail),然後編寫電子郵件。但是,我想讓用戶可以直接從我的應用程序發送郵件,而不是使用其他應用程序。所以我想讓用戶可以寫他/她的電子郵件/ Gmail和郵件,然後將郵件發送到我的電子郵件。換言之,在片段中,我希望用戶編寫他/她的電子郵件/ gmail的EditText,另一個EditText用戶在其中寫入消息併發送一個按鈕。這如何實現?通過Android應用發送郵件

這是我在我的應用程序都做了發送郵件:使用Java mailApi

private void sendemail(String message) { 
     String [] reciever = new String[]{"[email protected]"}; 
     String subject = ("Feedback/Question"); 
     Intent mailIntent = new Intent(Intent.ACTION_SEND); 
     mailIntent.putExtra(Intent.EXTRA_EMAIL, reciever); 
     mailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); 
     mailIntent.putExtra(Intent.EXTRA_TEXT, message); 
     mailIntent.setType("message/rfc822"); 
     startActivity(Intent.createChooser(mailIntent, "Choose an application to send your mail with")); 
    } 

回答

0

,您必須使用證書進行身份驗證的Gmail應用。 請檢查此鏈接:

Email via Java MailAPI

其他鏈接提供的自定義類以編程方式發送郵件。

https://stackoverflow.com/a/4345084/1223291

希望其對你有用。

+0

據我瞭解,用戶需要以發送郵件寫他/她的密碼。這是否也支持hotmail/live? –

+0

可能是我沒有實現它,所以不清楚,但可能是它的工作。第二種選擇是最好的。 – dipali

1

使用此庫→Send email in background。它會從您的應用發送電子郵件,而無需用戶交互。

乾杯!

+0

在我看來,用戶需要使用Gmail帳戶登錄,然後發送郵件?什麼hotmail?無法在未登錄的情況下發送郵件? –

0

使用此方法....

public void sendEmail() 
{ 

Intent intent = new Intent(Intent.ACTION_SEND); 

intent.setType("message/rfc822"); 

intent.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 

intent.putExtra(Intent.EXTRA_SUBJECT, "care Feedback"); 

intent.putExtra(Intent.EXTRA_TEXT, ""); 

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

} 
+0

在這段代碼中,需要什麼?只有發件人的郵件和消息?如果是這樣,我在哪裏寫我作爲接收器? –

+0

寫你的電子郵件[email protected]寫在哪裏,並在你想要的地方使用這種方法。 –

+0

親愛的,這個方法和我的一樣....它使用本機應用程序,我希望它直接從應用程序發送 –