1

我正在使用这篇文章来帮助我发送自动电子邮件,但我遇到了一个问题,似乎什么都没有发生,也没有产生错误。

我使用了 AsyncTask 但它根本不发送邮件。

公共类 Sender 扩展 AsyncTask< Void, Void, Void> {

  private Exception exception;

  protected Void doInBackground(String... arg0) {

      Log.v("aws", "OPEN   asa");

      Mail m = new Mail("email@email.com", "password");
      String[] toArr = {"to@mail.com"};
      m.setTo(toArr);
      m.setFrom("from@gmail.com"); 
      m.setSubject("This is an email sent using my Mail JavaMail wrapper from an >Android device."); 
      m.setBody("Email body.");

        try { 
          //m.addAttachment("/sdcard/filelocation"); 

          if(m.send()) { 
              Log.v("aws", "OK SENT");
          } else { 
              Log.v("aws", "NOT SENT");
          } 
        } catch(Exception e) { 
            Log.v("aws", "EXCEPTION . NOT SENT"); 
        }
      return null;
  }

  @Override
  protected Void doInBackground(Void... arg0) {
      // TODO Auto-generated method stub
      return null;
  }

  protected void onPostExecute(Void... arg0) {
      // TODO: check this.exception 
      // TODO: do something with the feed
   }

}

我曾经new Sender().execute();执行过该任务,但什么也没发生,也没有抛出任何错误。

我究竟做错了什么?

编辑

代码有两个doInBackground这样的第二个覆盖了我的工作doInBackground

4

1 回答 1

1

请注意,您doInBackground()的代码中有两个方法,@Override版本是由AsyncTask. 只需将代码从错误的doInBackground()版本移动到正确的版本并删除错误的版本。

于 2013-04-11T14:44:16.993 回答