电子邮件发送程序说明

时间:2013-01-13 19:37:11

标签: android email android-activity sender

我对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都是电子邮件的收件人吗?代码中是否还有其他地方可以定义电子邮件的内容?

感谢您的时间。

1 个答案:

答案 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命名约定规定方法应以小写字母开头。您应该遵守这些约定并适当地重构代码。