javax.mail.internet.ParseException:在Content-Type字符串<text>中,期望&#39; /&#39;,得到null

时间:2016-12-06 00:24:30

标签: java email javamail parseexception

我知道这个问题已在其他地方得到解答,但这对我没有用,所以我在这里。

基本上我的代码会登录您的电子邮件并向多人发送消息。

当然它没有完成,我知道,但它有足够的代码可以工作,因为我基于我的命令行程序做了同样的事情。

无论如何这里有一些代码。

发件人类:

webpack --config _first.config_ && webpack --watch --config _second.config

}

是的,我知道有更有效的方法可以通过多种方法发送必需的字段,但我很懒。这就是为什么我来到这里:p

感谢您的帮助和lmk如果您想要其他3个课程。但错误应该在这一个。

3 个答案:

答案 0 :(得分:0)

message.setContent(content, "html")替换为message.setText(content, null, "html")。将message.setContent(content, "text")替换为message.setText(content)

答案 1 :(得分:0)

比尔的回答似乎涵盖了它,但看起来你仍然被卡住了。一个问题是message.setContent(content, "text");会在您需要text/text时将内容类型设置为test/plain。这是一个例子:

public class GMTCZ {
    public static void main(String[] args) throws Exception, Exception {
        MimeMessage mime = new MimeMessage((Session) null);

        mime.setText("That was 1 arg setText");
        print(mime);

        String charset = MimeUtility.mimeCharset(MimeUtility.getDefaultJavaCharset());
        mime.setText("<html><title>This is 3 arg setText</title></html>", charset, "html");
        print(mime);

        mime.setText("That was 3 arg setText.", charset, "plain");
        print(mime);

        //OR

        Message msg = new MimeMessage((Session) null);
        msg.setContent("<html><title>That was 2 arg setContent</title></html>", "text/html");
        print(msg);

        msg.setContent("That was 2 arg setContent.", "text/plain");
        print(msg);

        msg.setContent("<html><title>That was 2 arg setContent.</title></html>", "text/html");
        print(msg);
    }

    private static void print(Message msg) throws Exception {
        msg.saveChanges();
        msg.writeTo(System.out);
        System.out.println();
        System.out.println("====");
    }
}

答案 2 :(得分:0)

我想通了,基本上我将props.put值更改为:

props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", smtpHost);
props.put("mail.smtp.user", username);
props.put("mail.smtp.password", password);
props.put("mail.smtp.port", smtpPort);
props.put("mail.smtp.auth", "true");

它有效。我所做的只是添加端口。我也让我的gmail accout访问不受信任的应用程序。