本帖最后由 lovely_autumn 于 2011-11-25 15:02:04 编辑

解决方案 »

  1.   

    改造的Spring mail发送代附件的邮件:package com.def.mail.face;public interface SendMail {
        public void send();
    }package com.def.mail;import java.io.File;
    import java.util.Date;import javax.mail.MessagingException;
    import javax.mail.internet.MimeMessage;import org.springframework.core.io.FileSystemResource;
    import org.springframework.mail.javamail.JavaMailSenderImpl;
    import org.springframework.mail.javamail.MimeMessageHelper;import com.def.mail.face.FilePathOfDate;
    import com.def.mail.face.SendMail;public class MailUtils implements SendMail {    private JavaMailSenderImpl senderImpl;
        private String replyTo;
        private String[] to;
        private String[] cc;
        private String[] bcc;
        private Date sentDate;
        private String subject;
        private String text;
        private String from;
        private FilePathOfDate filePathOfDate;    public FilePathOfDate getFilePathOfDate() {
    return filePathOfDate;
        }    public void setFilePathOfDate(FilePathOfDate filePathOfDate) {
    this.filePathOfDate = filePathOfDate;
        }    public String getFrom() {
    return from;
        }    public void setFrom(String from) {
    this.from = from;
        }    public String getReplyTo() {
    return replyTo;
        }    public void setReplyTo(String replyTo) {
    this.replyTo = replyTo;
        }    public String[] getTo() {
    return to;
        }    public void setTo(String[] to) {
    this.to = to;
        }    public String[] getCc() {
    return cc;
        }    public void setCc(String[] cc) {
    this.cc = cc;
        }    public String[] getBcc() {
    return bcc;
        }    public void setBcc(String[] bcc) {
    this.bcc = bcc;
        }    public Date getSentDate() {
    return sentDate;
        }    public void setSentDate(Date sentDate) {
    this.sentDate = sentDate;
        }    public String getSubject() {
    return subject;
        }    public void setSubject(String subject) {
    this.subject = subject;
        }    public String getText() {
    return text;
        }    public void setText(String text) {
    this.text = text;
        }    public JavaMailSenderImpl getSenderImpl() {
    return senderImpl;
        }    public void setSenderImpl(JavaMailSenderImpl senderImpl) {
    this.senderImpl = senderImpl;
        }    @Override
        public void send() {
    MimeMessage mailMessage = senderImpl.createMimeMessage();
    try {
        MimeMessageHelper messageHelper = new MimeMessageHelper(
        mailMessage, true);
        if (replyTo != null)
    messageHelper.setReplyTo(replyTo);
        if (to != null)
    messageHelper.setTo(to);
        if (cc != null)
    messageHelper.setCc(cc);
        if (bcc != null)
    messageHelper.setBcc(bcc);
        if (sentDate != null)
    messageHelper.setSentDate(sentDate);
        if (subject != null)
    messageHelper.setSubject(subject);
        if (from != null)
    messageHelper.setFrom(from);
        if (text != null)
    messageHelper.setText(text);
        if (filePathOfDate.getFilePathOfDate() != null)
    for (String path : filePathOfDate.getFilePathOfDate()) {
        FileSystemResource file = new FileSystemResource(new File(
        path));
        messageHelper.addAttachment(file.getFilename(), file);
    }
        senderImpl.send(mailMessage); } catch (MessagingException e) {
        e.printStackTrace();
    }    }
    }