2011-03-04 55 views
0

我繼承的代碼基礎是在電子郵件正文中打印出一些標題信息。這是正在打印的內容:Java MimeMessage電子郵件打印正文中的標題信息

Mime-Version: 1.0 
Content-Type: text/plain; charset=us-ascii 
Content-Transfer-Encoding: 7bit 

如果我message.writeTo(System.out);創建消息之後,上面的文字會打印出來。

是否有一個屬性文件或某處指定這些東西?

它也看起來像郵件到達時,傳出服務器爲這三個屬性編寫了適當/不同的頭信息。

任何刪除它的想法?

另外,這裏是全功能:

private String sendConfirmationEmail (String to, String from, String subject, String body, boolean CCSender) { 
    try 
    { 
    String smtpHost = Properties.smtp;  
    String fromAddress = from; 
    String toAddress = to; 

    Properties properties = System.getProperties(); 
    properties.put("mail.smtp.host", smtpHost); 

    Session session = Session.getInstance(properties, null); 

    MimeMessage message = new MimeMessage(session); 

    message.setFrom(new InternetAddress(fromAddress)); 
    message.setRecipient(Message.RecipientType.TO, 
      new InternetAddress(toAddress)); 

    message.setRecipient(Message.RecipientType.BCC, 
      new InternetAddress(fromAddress)); 

    if (CCSender) { 
     message.setRecipient(Message.RecipientType.CC, 
       new InternetAddress(from)); 
    } 
    message.setSubject(subject); 
    message.setText(body); 

    message.saveChanges(); 

    Transport.send(message); 
    return "1:success"; 
    } 
    catch(Exception e) 
    { 
    return "0:failure "+e.toString(); 
    } 
} 
+0

您是否嘗試過創建某種過濾方法,或者使用正則表達式來封裝標頭或其他東西。也許提供樣本輸入/輸出的人可以幫助你。 – ant 2011-03-04 17:59:12

+0

*爲什麼*你想刪除這些標題?它們是準確的,只要'body'是全ASCII並且沒有> 998個字符的行...... – dkarp 2011-03-04 19:17:26

+0

我想阻止它們在電子郵件中打印出來。所有收件人都會在電子郵件正文的頂部看到這三行。 – estubey 2011-03-04 19:23:54

回答

2

這些性質通過Java郵件API,它被設置爲報頭暴露在屬性例如,MimeMessage

Message msg = new MimeMessage(session); 
msg.setHeader("MIME-Version", "1.0"); 
msg.setHeader("Content-Type", "text/plain; charset=us-ascii"); 

郵件服務器根據其本地策略可以更改郵件頭。郵件服務通信可以很好地使用例如gzip壓縮其中將需要另一組標題。

[編輯]如果您觀察到source code for MimeMessage,您會看到一些標頭設置爲默認值,如setHeader("MIME-Version", "1.0");

+0

是的,但我怎樣才能讓他們脫離我的電子郵件? – estubey 2011-03-04 18:08:26

+0

@estubey,你沒有,作爲*請求/響應頭*他們不是身體的一部分,除非手動複製到它。 – 2011-03-04 18:11:36

+0

不知道他們將從哪裏複製。當我在我的功能中執行此操作時: – estubey 2011-03-04 19:01:34

相關問題