2014-07-10 20 views
0

發送電子郵件我看了這個鏈接,通過GMailSender輔助類 Sending Email in Android using JavaMail API without using the default/built-in app錯誤通過GMailSender輔助類

發送電子郵件,但我仍然有一個問題。單擊發送按鈕時沒有任何反應。

這是我的java類。

package com.example.test; 

import android.app.Activity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class VerificationMail extends Activity implements OnClickListener{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.verification); 
    EditText mailId=(EditText)findViewById(R.id.etEmailID); 
    Button bVerify=(Button)findViewById(R.id.bVerifyMail); 
    bVerify.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    try { 
     GMailSender sender = new GMailSender("[email protected]", "password"); 
     sender.sendMail("This is Subject", 
       "This is Body", 
       "[email protected]", 
       "[email protected]"); 
     //Toast 
     Toast t=Toast.makeText(this, "Mail sent", Toast.LENGTH_LONG); 
     t.show(); 
    } catch (Exception e) { 
     Log.e("SendMail", e.getMessage(), e); 
    } 
} 

}

我這裏有一個疑問。在GMailSender類的參數中,第一個參數是發件人的郵件ID? 此外,裏面的嘗試工作,並在屏幕上顯示「郵件發送」,但沒有郵件發送。 Logcat中也沒有任何東西。

My GMailSender類和JSSEProvider與我給出的鏈接相同。 另外我在我的包中添加了GMailSender類,它包含了我創建的所有其他.java文件。 JSSEProvider位於src中名爲com.provider的文件夾中。 這是好嗎?

如果有人能幫助我,我會很感激! 謝謝

+0

您是否已將互聯網權限添加到清單中? – RvdK

回答

0

你在主線程中執行此操作嗎? 如果是,可能您遇到NetworkOnMainThreadException

請執行內部AsyncTask

操作沒有在logcat中顯示異常可能是因爲裏面sendMail()有一個try-catch中捕獲所有異常沒有打印任何記錄。