Android向用户发送“假”欢迎电子邮件

时间:2015-01-23 13:13:00

标签: java android email javax.mail

在我的应用中,用户在首次启动后立即将他们的Google帐户与我的应用相关联,因此我想发送他们"欢迎邮件"。此外,当我需要向他们发送一些东西时还有另一种情况。但由于我不想使用某些网络服务,我只想直接从应用程序发送这些消息。

所以我一直在搜索互联网,我发现了这一点:https://cloud.google.com/appengine/docs/java/mail/#Java_Sending_mail_with_the_JavaMail_API Basicaly,它是Google App Engine的一部分,但对于邮件,他们使用的是JavaMail API。所以我从这里下载了javax.mail库:https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release 并且我已将其添加到我的Android应用中。

然后,我尝试使用Google App Engine文档中的代码:

import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

// ...
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);

String msgBody = "...";

try {
    Message msg = new MimeMessage(session);
    msg.setFrom(new InternetAddress("admin@example.com", "Example.com Admin"));
    msg.addRecipient(Message.RecipientType.TO,
     new InternetAddress("user@example.com", "Mr. User"));
    msg.setSubject("Your Example.com account has been activated");
    msg.setText(msgBody);
    Transport.send(msg);

} catch (AddressException e) {
    // ...
} catch (MessagingException e) {
    // ...
}

但那扔掉了java.lang.NoClassDefFoundError: javax.activation.DataHandler 我发现我还需要从JavaBeans Activation Framework添加javax.activation.jar,所以我已经这样做了,但是这并没有改变这个错误。这很有趣,因为当我输入javax.activation.DataHandler();时,它就找到了它。

后来,我还发现我需要第三个库 - additional.jar,所以我也添加了这个......但是,它仍然会抛出java.lang.NoClassDefFoundError: javax.activation.DataHandler。在这一点上,我不知道问题是什么......

0 个答案:

没有答案