2011-05-18 131 views
2

我正在使用AbstractMailMessageSender从我们的应用程序向用户发送电子邮件。 我已经扩展这个类以包含附件了。包含签名的电子邮件

public void sendMessage() throws MessagingException { 
    MimeMessage msg = sender.createMimeMessage(); 
    MimeMessageHelper helper = new MimeMessageHelper(msg, true); 
    helper.setTo(this.to); 
    helper.setFrom(this.from); 
    helper.setSubject(this.subject); 
    helper.setText(this.message); 
    if (this.cc != null){ 
     helper.setCc(this.cc); 
    } 
    if (this.bcc != null){ 
     helper.setBcc(this.bcc); 
    } 
    for(String attachment : attachments.keySet()){ 
     helper.addAttachment(attachment, attachments.get(attachment)); 
    } 
    sender.send(msg); 
} 

我想在电子邮件中包含一个签名。不幸的是,这个类没有签名方法。

我试图将它与邮件正文一起发送,但我失去了换行符和格式。

任何帮助表示赞赏。 谢谢

+0

等待,什么是MimeMessageHelper类?春天来了吗?如果是这样,请标记spring – Bozho 2011-05-18 17:47:40

+0

在整个interweb中唯一提及'AbstractMailMessageSender'就是* this *问题。 – skaffman 2011-05-18 17:53:14

+0

整个interweb和我的classpath :) – Bozho 2011-05-18 18:01:28

回答

2

我不认为签名是SMTP邮件的单独部分。

您必须在文本中设置它,并确保您的格式不松散(这取决于消息的内容类型以及您设置的文本)。

从我看到你可能使用了错误的setText(..)方法。您可能必须使用setText(text, true)来指示使用了html。

当然,我认为如果您使用的是html和格式,您将使用<br />作为新行。事实证明,情况并非如此。

+0

你是对的,那是春天,你有解决方案 – 2011-05-18 17:55:35

+0

感谢您的回应。是的,我正在使用setText(text,true)我所要做的只是将CR改为
Viidhya 2011-05-18 18:05:40

+0

@Viidhya在你展示的内容中没有使用它。请确保您显示真实的代码。 – Bozho 2011-05-18 18:06:26

相关问题