通过GMailSender帮助程序类发送电子邮件时出错

时间:2014-07-10 09:46:41

标签: java android email

我已阅读此链接,通过GMailSender帮助程序类发送电子邮件 Sending Email in Android using JavaMail API without using the default/built-in app

但我还是有问题。点击发送按钮没有任何反应。

这是我的java课程。

package com.example.test;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class VerificationMail extends Activity implements OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.verification);
    EditText mailId=(EditText)findViewById(R.id.etEmailID);
    Button bVerify=(Button)findViewById(R.id.bVerifyMail);
    bVerify.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    try {   
        GMailSender sender = new GMailSender("sendermail@gmail.com", "password");
        sender.sendMail("This is Subject",   
                "This is Body", 
                "sendermail@gmail.com",
                "receivermail@gmail.com");   
      //Toast
        Toast t=Toast.makeText(this, "Mail sent", Toast.LENGTH_LONG);
        t.show();
    } catch (Exception e) {   
        Log.e("SendMail", e.getMessage(), e);   
    }
}

}

我有疑问。在GMailSender类的参数中,第一个参数是发件人的邮件ID? 此外,吐司内部尝试工作和显示"邮件发送"在屏幕上,但没有发送邮件。 Logcat中也没有任何内容。

我的GMailSender类和JSSEProvider与我给出的链接相同。 我还在src中的包中添加了GMailSender类,我在其中创建了所有其他.java文件。 JSSEProvider位于src中名为com.provider的文件夹中。 这样好吗?

如果有人能帮助我,我会非常感激! 感谢

1 个答案:

答案 0 :(得分:0)

你是在主线程中做这个吗? 如果是,可能您遇到了NetworkOnMainThreadException

请在AsyncTask

中执行操作

logcat中没有显示异常可能是因为在sendMail()内部有一个try-catch,其中捕获所有异常而不打印任何日志。