2012-12-19 74 views
0

在我的應用程序中,我想發送一封電子郵件。郵件的發送方式可以知道嗎?

我正在使用AsyncTask,但是如何識別郵件是否已發送,以便我可以在postExecute方法中停止進度條。請任何幫助。這是我的代碼。它可以正常發送電子郵件...

public class SendMainActivity extends Activity { 
Button send = null; 
EditText mailid = null; 
String emailId = null; 
ConnectivityManager conMan = null; 
NetworkInfo Info = null; 
ProgressBar pro = null; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    send = (Button)findViewById(R.id.button1); 
    mailid = (EditText)findViewById(R.id.editText1); 
    pro = (ProgressBar)findViewById(R.id.progressBar1); 

    send.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
      Info = conMan.getActiveNetworkInfo(); 
      emailId = mailid.getText().toString(); 

      if(Info == null){ 
       Toast.makeText(getApplicationContext(), "no net connection ", Toast.LENGTH_LONG).show(); 
      }else{ 

       new SendEmail().execute(); 

      } 
     } 
    }); 



} 


class SendEmail extends AsyncTask<Void, Void, Integer>{ 

     @Override 
     protected void onPreExecute() 
     { 
      pro.setVisibility(View.VISIBLE); 
      pro.setProgress(0); 
     } 

    @Override 
    protected Integer doInBackground(Void... params) { 
     // TODO Auto-generated method stub 

     try { 
      GmailSender sender = new GmailSender("[email protected]", "userpass"); 
      sender.sendMail("This is Subject", 
        "This is Body how r u ..", 
        "[email protected]", 
        emailId); 
     } catch (Exception e) { 
      Log.e("SendMail", e.getMessage(), e); 
     } 
     return null; 
    } 
    @Override 
    protected void onPostExecute(Integer result) { 
     // TODO Auto-generated method stub 
     super.onPostExecute(result); 
     pro.destroyDrawingCache(); 
    } 
    } 
} 

回答

0

簡單地說,你不能識別你的郵件是否交付。

您正在使用GmailSender,可以發現here

現在的一類,在這個類只有一個消息發送郵件不檢查交貨等

這樣做是要複雜。你將不得不從頭開始編寫你自己的客戶端。

郵件發送時爲什麼不結束進度條?

相關問題