我按照这篇文章Sending Email in Android using JavaMail API without using the default/built-in app发送了没有意图的邮件。它工作正常。但我的问题是你是否可以发送邮件而无需输入你的用户名和密码?感谢
答案 0 :(得分:1)
不,你不能
从代码中可以看出,username
和password
用于登录该邮件ID,然后Email ID
用于发送电子邮件
GMailSender有一个构造函数,它接受用户名和密码,用于创建登录会话,如代码
session = Session.getDefaultInstance(props, this);
完成登录后,您就像通常在浏览器中一样从该邮件ID发送电子邮件
的替代强> 的
现在,如果您想发送电子邮件,那么您可以像在此一样发送Android中的意图
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"youremail@gmail.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "subject");
email.putExtra(Intent.EXTRA_TEXT, "message");
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client"));
但是这会弹出用户选择要发送电子邮件的客户端
或强>
如果您甚至不想使用此功能,那么我建议您创建自己的webserver
并向HTTP
请求通过服务器发送电子邮件