我对Android编程比较陌生,但在Java和其他编码语言方面有经验。作为我目前正在制作的程序的一部分,我希望能够在按下按钮时发送预定义的电子邮件。我目前正在查看此代码:
Sending Email in Android using JavaMail API without using the default/built-in app
我目前能够启动一个启动MailSenderActivity.class的意图。但是,我无法理解如何通过GmailSender.class发送电子邮件。我相信我误解了如何使用提供的代码。我是否应该创建两个单独的意图,将在主页上的代码中一个接一个地启动两个活动,如下所示?如果没有,我该怎么做?
public void SendEmail(View v) {
Intent i = new Intent(getBaseContext(), MailSenderActivity.class);
Intent j = new Intent(getBaseContext(), GMailSender.class);
startActivity(i);
}
另外,我想知道代码中的to / from,subject,body等定义的空格。我看到MailSenderActivity.class有
try {
GMailSender sender = new GMailSender("username@gmail.com", "password");
sender.sendMail("This is Subject",
"This is Body",
"user@gmail.com",
"user@yahoo.com");
user@gmail.com和user@yahoo.com都是电子邮件的收件人吗?代码中是否还有其他地方可以定义电子邮件的内容?
感谢您的时间。
答案 0 :(得分:1)
向下滚动并阅读答案的其余部分,您会看到sendMail()
方法提供了所有线索:
public synchronized void sendMail(String subject, String body, String sender, String recipients)
所以:
"user@gmail.com"
是发件人(来自字段)。
"user@yahoo.com"
是收件人(收件人)。您可以使用逗号指定更多内容,例如
"user@yahoo.com,user_2@gmail.com"
您还会看到GMailSender
只是一个类,而不是一个Activity。因此,不需要Intent;只是实例化该类。此外,MailSenderActivity
是演示GMailSender
实施的代码示例。你不必使用它。
例如
public void SendMail (View v) {
try {
GMailSender sender = new GMailSender("your_username@gmail.com", "password");
sender.sendMail("Subject",
"Email body",
"Fromfield@gmail.com",
"toField@example.com");
} catch (Exception e) {
Log.e("SendMail", e.getMessage(), e);
}
}
还要记住Java命名约定规定方法应以小写字母开头。您应该遵守这些约定并适当地重构代码。