我已阅读此链接,通过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的文件夹中。 这样好吗?
如果有人能帮助我,我会非常感激! 感谢
答案 0 :(得分:0)
你是在主线程中做这个吗?
如果是,可能您遇到了NetworkOnMainThreadException
。
请在AsyncTask
logcat中没有显示异常可能是因为在sendMail()
内部有一个try-catch,其中捕获所有异常而不打印任何日志。