从Android应用程序使用Amazon Web SES发送邮件

时间:2016-11-11 07:09:31

标签: android api email web amazon-ses

我正在开发一个应用程序,我希望在没有用户干预的情况下从应用程序发送邮件(不使用意图)。并且不利用用户凭据(不使用java邮件API)。但是如何绑定正文从Android应用程序到Web API的邮件。这是我的代码。

 public void onClick(View v) {
 if (v == btnSend) {
 String url = "http://app.xyz.com/api/SendMail/SendMail?Emailid=xyz@gmail.com" + "&Subject=" + "&Body=";
       if (url != null) {
            email = editTextEmail.getText().toString();
            subject = editTextSubject.getText().toString();
            message = editTextMessage.getText().toString();
            final Intent emailIntent = new Intent( android.content.Intent.ACTION_SEND);
            emailIntent.setType("plain/text");
            emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
            new String[]{"xyz@gmail.com"});
            emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,subject);
            emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
            this.startActivity(Intent.createChooser(emailIntent, "Sending email..."));

           }
           }catch (Throwable t) {
            Toast.makeText(this,
           "Request failed try again: " + t.toString(),
            Toast.LENGTH_LONG).show();
       }
    }

1 个答案:

答案 0 :(得分:0)

最后我得到了解决方案。使用 Amazon SES 发送邮件。

我们应该拥有亚马逊凭证。使用凭据并使用Web API在.net中编写控制器并在我们的Android应用程序中调用URL。

以下是我的Android代码。

public void onCreate(Bundle savedInstanceState)
   {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.feed_back);
    scanBtn = (Button) findViewById(R.id.button1);
    myAwesomeTextview = (TextView) findViewById(R.id.myAwesomeTextview);
    scanBtn.setOnClickListener(new View.OnClickListener()
    {
    public void onClick(View view)
    {
    mEdit = (EditText) findViewById(R.id.editText1);
    mText = (TextView) findViewById(R.id.textView2);
    Subject = mEdit.getText().toString();
    mEdit1 = (EditText) findViewById(R.id.editText2);
    mText1 = (TextView) findViewById(R.id.textView3);
    Body = mEdit1.getText().toString();
    Log.d("###$Request URL", Subject + "");
    Log.d("###$Request URL", Body + "");
    SharedPreferences sharedpreferences = getSharedPreferences(main.MyPREFERENCES, Context.MODE_PRIVATE);
    String  e = sharedpreferences.getString(main.email,"");
    String url ="http://app.xyz.com/Api/SendMail/SendMail?Emailid="+ e + "&Subject="+ Subject+"&Body=" +Body;
    AQuery mAQuery = new AQuery(FeedBack.this);
    mAQuery.ajax(url, String.class, new AjaxCallback<String>()
    {
    @Override
    public void callback(String url, String data, AjaxStatus status)
    {
    super.callback(url, data, status);
    if (BuildConfig.DEBUG)
    {
        Log.d("###$Request URL", url + "");
        Log.d("###$Response ", data + "");
        Log.d("###$Status Message : ", status.getMessage() + "");
        Log.d("###$Status Code : ", status.getCode() + "");

    }
    if(status.getCode()!=-101)
    {
       String StringData = "" + data;
       try 
       {
         JSONObject json = new JSONObject(StringData);
         String sd,hd;
         sd = json.getString("Subject");
         hd=  json.getString("Body");

       } 
       catch (Exception a) 
       {
          Toast toast = Toast.makeText(FeedBack.this,"Mail Sending", Toast.LENGTH_LONG);
          toast.setGravity(Gravity.CENTER, 0, 0);
          toast.show();
       }
       }
       else
       {
         Toast toast = Toast.makeText(FeedBack.this,"Please Check Your Internet Connection", Toast.LENGTH_LONG);
         toast.setGravity(Gravity.CENTER, 0, 0);
         toast.show();

       }
        }
        });
        }
     });
   }
}