使用 javamail 通过 smtp 发送完整电子邮件正文的问题

使用 javamail 通过 smtp 发送完整电子邮件正文的问题

我想通过 smtp 使用 java 程序(使用 javamail)向某个地址发送电子邮件。它实际上将电子邮件发送到目的地。问题是每次电子邮件正文都不会完整发送。考虑到我的邮件正文是从数据库中提取的。这是我的代码:

公共静态无效smail(连接con,字符串状态)
        {
            声明 stmt;

            尝试
            {
                stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

                ResultSet res = stmt.executeQuery("从生产中选择ID,Time_C,其中State='"+state+"'");

                while(res.next())
                {                           
                    字符串id=res.getString("1"),tc=res.getString("2");
                    testmail smtpMailSend = new testmail();
                    字符串子="警报" + state;
                        字符串 mes=" ID "+id +"\n 状态:"+state +"\n 时间:"+tc;
                      smtpMailSend.sMail(sub,mes);
                 }
             } 捕获(异常 e)
            {
                打印StackTrace();
                stmt = 空;
            }
        }
    public void sMail(String obj,String text)抛出 MessagingException
    {
    属性 props = new Properties();
        props.put(“mail.smtp.host”,d_host);
        props.put(“mail.smtp.port”,d_port);
        props.put(“mail.smtp.starttls.enable”,“true”);
        props.put(“mail.smtp.debug”,“true”);
        props.put(“mail.smtp.auth”,“true”);
        验证器 auth = 新 SMTPAuthenticator();
        会话session = Session.getInstance(props,auth);
        会话.setDebug(真);
        消息msg = new MimeMessage(session);
        msg.设置文本(文本);
        msg.设置主题(obj);
        msg.setFrom(新的Internet地址(d_email));
        msg.添加收件人(消息.收件人类型.TO,新的Internet地址(m_to));
        运输transport = session.getTransport(“smtps”);
        传输.连接(d_host,d_port,d_uname,d_password);
        传输.发送消息(msg,msg.getAllRecipients());
        运输.关闭();
        }           

因此,在前 2 条记录之后,我在邮件“ID:12345”中没有时间或状态。

感谢您的帮助

答案1

您能否验证邮件正文每次离开您这边的发送服务器时都是完整的?如果可以,则收件人那边的某些东西可能删除了内容。

相关内容