使用javamila API发送邮件,我的收件箱中未公开参与者<undisclosed-participant@email.invalid>

时间:2017-09-13 09:38:33

标签: java javamail

我正在使用以下代码:

      ic = new InitialContext();
       Session session = (Session)ic.lookup(smtpJndi); //smtpJndi I have maintained a mail session in weblogic
        dbg( "send-->lookup done"); 
Transport transport;
            transport = session.getTransport();
            Message msg = new MimeMessage(session);
            msg.setFrom();
            msg.addRecipient(Message.RecipientType.TO, new InternetAddress(mailId));
            msg.setHeader("X-Priority", "1");
            msg.setSubject("Aproval Request"); 
            String htmlContent="test"
            msg.setContent(htmlContent,"text/html");
            dbg("send-->set transport.connect()");
            transport.connect(smtpHost, smtpUser, smtpPwd);
            dbg( "send-->sendMessage()");
          transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));

我应该做出哪些改变,以便它可以带有适当的发件人。

1 个答案:

答案 0 :(得分:0)

不带参数的setFrom方法使用来自您环境的信息。如果环境没有预期的信息,则可能导致问题。尝试使用带有显式地址的setFrom:

MimeMessage msg = new MimeMessage(session);
msg.setFrom("you@whatever.com");

通常,“发件人”地址应与您在SMTP服务器上使用的帐户相对应。