邮件的发送方式可以知道吗?

在我的应用程序中,我想发送一封电子邮件。邮件的发送方式可以知道吗?

我正在使用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();

}

}

}

回答:

简单地说,你不能识别你的邮件是否交付。

您正在使用GmailSender,可以发现here

现在的一类,在这个类只有一个消息发送邮件不检查交货等

这样做是要复杂。你将不得不从头开始编写你自己的客户端。

邮件发送时为什么不结束进度条?

以上是 邮件的发送方式可以知道吗? 的全部内容, 来源链接: utcz.com/qa/257249.html

回到顶部