简体   繁体   English

是否可以在Java ME 8.0上创建smtp客户端?

[英]Is it possible to create an smtp client on Java ME 8.0?

im trying to build an application for a raspberry pi using JAVA ME Embeded latest version (8.0) to connect to gmail and read emails. 我试图使用JAVA ME Embeded最新版本(8.0)为树莓派构建应用程序以连接到gmail和阅读电子邮件。

However I can't find any native support for that kind of operations on this platform. 但是,我在此平台上找不到对此类操作的任何本机支持。 Can anyone tell me if it's possible to do? 谁能告诉我是否可行?

Java version link: http://www.oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html (Developing on Eclipse using java me embeded sdk ) Java版本链接: http : //www.oracle.com/technetwork/java/embedded/javame/embed-me/overview/index.html (在Eclipse上使用嵌入了sdk的java开发)

Yes, you can! 是的你可以! It'll take a little work but it's definitely possible. 这将需要一些工作,但绝对有可能。

First, you'll need javax.mail.jar found here . 首先,您需要在此处找到javax.mail.jar。

Next, you need to write something along the lines of this to write an email (more info can be found at the link above): 接下来,您需要编写类似的内容来写一封电子邮件(更多信息可以在上面的链接中找到):

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.swing.*;

public class EmailProgram {
    public static void main(String[] args) {
        String nameString, emailString;
        nameString = JOptionPane.showInputDialog("Enter your name", "John Doe");
        emailString = JOptionPane.showInputDialog("Enter your email", "john@doe.com");

        final String username = "REDACTED EMAIL ADDRESS";
        final String password = "REDACTED PASSWORD";

        Properties props = new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host", "smtp.gmail.com");
        props.put("mail.smtp.port", "587");

        Session session = Session.getInstance(props,
          new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(username, password);
            }
          });

        try {

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress("REDACTED EMAIL ADDRESS"));
            message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse(emailString));
            message.setSubject("Your Grade");
            message.setText("Hi " + nameString + "!\n" + "Your grade has been calculated. It is ");

            Transport.send(message);

            System.out.println("Done");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }

    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM