%line | %branch | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
com.ozacc.mail.impl.OMLMimeMessage |
|
|
1 | package com.ozacc.mail.impl; |
|
2 | ||
3 | import java.util.Random; |
|
4 | ||
5 | import javax.mail.MessagingException; |
|
6 | import javax.mail.Session; |
|
7 | import javax.mail.internet.MimeMessage; |
|
8 | ||
9 | /** |
|
10 | * Message-Id¥Ø¥Ã¥À¤¬¥«¥¹¥¿¥Þ¥¤¥º²Äǽ¤ÊMimeMessage¤Î¥µ¥Ö¥¯¥é¥¹¡£ |
|
11 | * |
|
12 | * @since 1.1 |
|
13 | * |
|
14 | * @author Tomohiro Otsuka |
|
15 | * @version $Id: OMLMimeMessage.java,v 1.3.2.2 2005/01/29 23:09:00 otsuka Exp $ |
|
16 | */ |
|
17 | 1 | public class OMLMimeMessage extends MimeMessage { |
18 | ||
19 | 1 | private static Random random = new Random(); |
20 | ||
21 | private String domainPartOfMessageId; |
|
22 | ||
23 | private String messageId; |
|
24 | ||
25 | /** |
|
26 | * ¥³¥ó¥¹¥È¥é¥¯¥¿¡£ |
|
27 | * |
|
28 | * @param session |
|
29 | * @param domainPartOfMessageId Message-Id¥Ø¥Ã¥À¤Î¥É¥á¥¤¥óÉôʬ¤Ë»ÈÍѤ¹¤?ʸ»úÎ? |
|
30 | */ |
|
31 | public OMLMimeMessage(Session session, String domainPartOfMessageId) { |
|
32 | 2 | super(session); |
33 | ||
34 | 2 | String[] parts = domainPartOfMessageId.split("@"); |
35 | 2 | if (parts.length == 1) { |
36 | 0 | this.domainPartOfMessageId = "@" + domainPartOfMessageId; |
37 | 2 | } else if (parts.length == 2) { |
38 | 2 | if (parts[0].length() > 0 && !parts[0].startsWith(".")) { |
39 | 1 | this.domainPartOfMessageId = "." + domainPartOfMessageId; |
40 | } else { |
|
41 | 1 | this.domainPartOfMessageId = domainPartOfMessageId; |
42 | } |
|
43 | } |
|
44 | 2 | messageId = generateRandomMessageId(); |
45 | 2 | } |
46 | ||
47 | /** |
|
48 | * Message-Id¥Ø¥Ã¥À¤ò¤³¤³¤Ç¥»¥Ã¥È¤·¤Þ¤¹¡£ |
|
49 | * <p> |
|
50 | * »²¹Í¥Ú¡¼¥¸<br> |
|
51 | * <a href="http://java.sun.com/products/javamail/FAQ.html#msgid">http://java.sun.com/products/javamail/FAQ.html#msgid</a> |
|
52 | * |
|
53 | * @see javax.mail.internet.MimeMessage#updateHeaders() |
|
54 | */ |
|
55 | protected void updateHeaders() throws MessagingException { |
|
56 | 0 | super.updateHeaders(); |
57 | 0 | setHeader("Message-ID", messageId); |
58 | 0 | } |
59 | ||
60 | /** |
|
61 | * ¥¿¥¤¥à¥¹¥¿¥ó¥× + 16·å¤ÎÍð¿? + messageId¥×¥úÁѥƥ£¤òÏ¢·?¤·¤¿Ê¸»úÎó¤òÊÖ¤·¤Þ¤¹¡£ |
|
62 | * |
|
63 | * @return ¥¿¥¤¥à¥¹¥¿¥ó¥× + 16·å¤ÎÍð¿? + messageId¥×¥úÁѥƥ£¤òÏ¢·?¤·¤¿Ê¸»úÎ? |
|
64 | */ |
|
65 | protected String generateRandomMessageId() { |
|
66 | 4 | StringBuffer buf = new StringBuffer(); |
67 | 4 | buf.append(System.currentTimeMillis()).append("."); |
68 | 68 | for (int i = 0; i < 16; i++) { |
69 | 64 | long num = Math.abs(random.nextInt(10)); |
70 | 64 | buf.append(num); |
71 | } |
|
72 | 4 | buf.append(domainPartOfMessageId); |
73 | 4 | return buf.toString(); |
74 | } |
|
75 | ||
76 | /** |
|
77 | * À¸À®¤µ¤?¤¿Message-Id¤òÊÖ¤·¤Þ¤¹¡£ |
|
78 | * |
|
79 | * @return À¸À®¤µ¤?¤¿Message-Id |
|
80 | */ |
|
81 | public String getMessageId() { |
|
82 | 0 | return messageId; |
83 | } |
|
84 | } |
This report is generated by jcoverage, Maven and Maven JCoverage Plugin. |