邮件的发送方式可以知道吗?
在我的应用程序中,我想发送一封电子邮件。邮件的发送方式可以知道吗?
我正在使用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