簡體   English   中英

Android:如何確認電子郵件已成功發送

[英]Android: How to confirm that email has been sent successfully

這是我的代碼,能夠成功發送電子郵件

package com.send.email;    

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

Button send;

EditText address, subject, emailtext;
/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

send = (Button) findViewById(R.id.emailsendbutton);

address = (EditText) findViewById(R.id.emailaddress);

 subject = (EditText) findViewById(R.id.emailsubject);

 emailtext = (EditText) findViewById(R.id.emailtext);

send.setOnClickListener(new OnClickListener() {

public void onClick(View v) {

// TODO Auto-generated method stub


final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);

emailIntent.setType("image/png");

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { address.getText().toString() });

emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject.getText());

emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailtext.getText());

MainActivity.this.startActivity(Intent.createChooser(emailIntent,"Send mail..."));

}

});
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{

if(requestCode==1)
{
   if(requestCode==1 && resultCode==Activity.RESULT_OK)    
   {
       Toast.makeText(this, "Mail sent.", Toast.LENGTH_SHORT).show();


   }
   else if (requestCode==1 && resultCode==Activity.RESULT_CANCELED)
   {
       Toast.makeText(this, "Mail canceled.", Toast.LENGTH_SHORT).show();


   }
   else 
   {
       Toast.makeText(this, "Plz try again.", Toast.LENGTH_SHORT).show();

   }

}   
}
}

我想獲取一些信息,以檢查電子郵件是否已成功發送。 它始終打印消息“發送電子郵件”並打開內置電子郵件客戶端並發送電子郵件。

你無法使用:android.content.Intent.ACTION_SEND。 只是嘗試使用郵件應用程序將郵件發送到不存在的電子郵件ID。 您將看到應用程序未通知您發送失敗。 使用android.content.Intent.ACTION_SEND,您實際上是將一個意圖傳遞給同一個應用程序來為您執行電子郵件傳遞任務。 因此,您永遠不會知道您的郵件傳遞是否失敗。

解決方法。 您需要實現電子郵件傳遞第三方庫mail.jar或類似的東西。 但問題是你需要讓發件人的mailID和PASSWORD來設置它。 也許你可以有一個虛擬的電子郵件帳戶,您可以用它來發送郵件。

可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM