我正在使用 this article帮助我发送自动电子邮件,但我遇到了一个问题,似乎什么都没发生,也没有生成任何错误。
我使用了 AsyncTask,但它根本不发送邮件。
public class Sender extends 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
最佳答案
请注意,您的代码中有两个 doInBackground()
方法,@Override
版本是由 AsyncTask
执行的.只需将代码从错误的 doInBackground()
版本移至正确版本并删除错误版本即可。
关于java - 自动邮件发送失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951674/