起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1870|回复: 5

[结贴] tomcat发送带附件的邮件时控制台老是要输出这种信息

[复制链接]

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
发表于 2017-6-5 10:12:29 | 显示全部楼层 |阅读模式
我发送带附件的文件的时候,控制的要输出这种信息,感觉好像是tomcat把文件内容在控制台过了一次,然后重新生成了一个新的文件发送过去。
我就是想  控制台不显示这个文件的内容  ,  因为实在是太长了  一个文件  就显示几页   每天都是这些东西

tomcat后台输出信息

tomcat后台输出信息
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
发表于 2017-6-5 11:47:32 | 显示全部楼层
看下你发邮件的代码!有没有system.out.print  相关的打印代码!
或者 log4j 相关的打印日志的代码!
有的话屏蔽掉就行了

这个应该就是代码中写的打印日志!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
 楼主| 发表于 2017-6-5 14:58:08 | 显示全部楼层
liangyongfei 发表于 2017-6-5 11:47
看下你发邮件的代码!有没有system.out.print  相关的打印代码!
或者 log4j 相关的打印日志的代码!
有的 ...

不是呢   我JAVA代码上什么都没用的  等下我把JAVA代码贴上来
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
 楼主| 发表于 2017-6-5 15:02:50 | 显示全部楼层
liangyongfei 发表于 2017-6-5 11:47
看下你发邮件的代码!有没有system.out.print  相关的打印代码!
或者 log4j 相关的打印日志的代码!
有的 ...

package zwzx;
import java.io.IOException;
import java.io.File;
import java.security.Security;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import com.alibaba.fastjson.JSONObject;
import com.justep.baas.action.ActionContext;
import javax.mail.Multipart;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeBodyPart;


public class Sendmail{
        public static JSONObject sendEmail(JSONObject params, ActionContext context) throws ServletException, IOException, AddressException, MessagingException {
                //获取邮箱
                String receiveUser = params.getString("receiveUser");
                String sendHtml = params.getString("sendHtml");
                String subject = params.getString("subject");
                String[] ownerID = params.getString("ownerID").replace("[", "").replace("]", "").replace("\"", "").split(",");
                String[]storeFileName = params.getString("storeFileName").replace("[", "").replace("]", "").replace("\"", "").split(",");
                String[] name = params.getString("name").replace("[", "").replace("]", "").replace("\"", "").split(",");
               
               
                //设置发送者的用户名
                String SEND_UNAME = "QQ";
                //设置发送者的授权码
                String SEND_PWD = "QQ授权码";
                String VALUE_SMTP = "smtp.qq.com";
                Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
                Properties props = System.getProperties();
                props.setProperty("mail.smtp.host", "smtp.qq.com");
                props.setProperty("mail.smtp.port", "25");
                props.put("mail.smtp.auth", "true");
                props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
                props.setProperty("mail.smtp.port", "465");
                props.setProperty("mail.smtp.socketFactory.port", "465");
               
                final String username = "QQ";
                final String password = "QQ授权码";
                Session session = Session.getDefaultInstance(props,
                        new Authenticator() {
                            protected PasswordAuthentication getPasswordAuthentication() {
                                return new PasswordAuthentication(username, password);
                            }
                        });
               
                session.setDebug(true);
                Message msg = new MimeMessage(session);
               
                msg.setFrom(new InternetAddress(username + "@qq.com"));
                msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
                                receiveUser, false));
                msg.setSentDate(new Date());
                msg.setSubject(subject);
                String VerifCode = sendHtml;
                // 向multipart对象中添加邮件的各个部分内容,包括文本内容和附件
                Multipart multipart = new MimeMultipart();
        //   设置邮件的文本内容
                BodyPart contentPart = new MimeBodyPart();
                contentPart.setText(VerifCode);
                multipart.addBodyPart(contentPart);
                //添加附件
                for(int i=0;i< storeFileName.length;i++){
                BodyPart messageBodyPart= new MimeBodyPart();
                File sendfile = new File(docStorePath + File.separator +ownerID + File.separator + storeFileName);
        DataSource source = new FileDataSource(sendfile);
      //添加附件的内容
        messageBodyPart.setDataHandler(new DataHandler(source));
      //添加附件的标题
        String fileName=sendfile.getName();
        String prefix=fileName.substring(fileName.lastIndexOf("."));
        messageBodyPart.setFileName(MimeUtility.encodeWord(name+prefix));
        multipart.addBodyPart(messageBodyPart);       
                }
       
      //将multipart对象放到message中
        msg.setContent(multipart);
      //保存邮件
        msg.saveChanges();
      
        msg.setSentDate(new Date());
        Transport transport = session.getTransport("smtp");
                // smtp验证,就是你用来发邮件的邮箱用户名和授权码
                transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);
                // 发送
                transport.sendMessage(msg, msg.getAllRecipients());
                transport.close();
                return null;
        }
        static String docStorePath;
        static File docStoreDir;
       
        static{
                String baasPath = Thread.currentThread().getContextClassLoader().getResource("").getPath() + ".."+ File.separator + ".." ;
                docStorePath = baasPath + File.separator + "data" + File.separator + "attachmentSimple"+ File.separator +"zwzx";
                File file = new File(docStorePath);
                //兼容以前存储目录
                if(file.exists() && file.isDirectory()){
                        docStoreDir = file;
                }
        }
       
       
        public static File getDocStoreDir(HttpServletRequest request) {
                if(docStoreDir == null){
                        ServletContext context = request.getSession().getServletContext();
                        String path = context.getRealPath("/");
                        docStorePath =  path + "../../data/attachmentSimple/zwzx";
                        File file = new File(docStorePath);
                        if(!file.exists()){
                                file.mkdirs();
                        }
                        docStoreDir = file;
                }
                return docStoreDir;
        }
}
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

发表于 2017-6-5 15:17:13 | 显示全部楼层
doudou459 发表于 2017-6-5 15:02
package zwzx;
import java.io.IOException;
import java.io.File;

你的代码是没打印日志!!
但是不保证,你调用的jar包  中的方法没打印日志啊!

最好自己调试运行一下!是执行哪行代码的时候!打印的日志!跟一下才知道的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

53

主题

928

帖子

1730

积分

金牌会员

Rank: 6Rank: 6

积分
1730
 楼主| 发表于 2017-6-5 15:19:00 | 显示全部楼层
liangyongfei 发表于 2017-6-5 15:17
你的代码是没打印日志!!
但是不保证,你调用的jar包  中的方法没打印日志啊!

我估计也是  jar包里面的   谢谢啦  结帖吧   顺便  我把我的JAVA代码 分享了  
承接wex5开发web项目、微信页面等;
低费用进行零散功能开发(java、JS、微信各种接口、阿里云接口等)
QQ:459349489
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-25 02:23 , Processed in 0.061489 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表