JavaMail?¤ò¥á¡¼¥ë¤Î²òÀϤ˻Ȥ¦¡¢¤Ã¤Æ¡© †JavaMail?¤ÏÄ̾ï¥á¡¼¥ë¤òÁ÷¿®¤·¤¿¤ê¥á¡¼¥ë¤ò¼õ¿®¤¹¤ë¤¿¤á¤ÎAPI·²¤Ç¤¹¤¬¡¢¥á¡¼¥ë¥Ç¡¼¥¿¤ò¥¹¥È¥ê¡¼¥à¤«¤é¼õ¤±¼è¤Ã¤Æ²òÀϤ¹¤ë¡¢¤Ê¤É¤ÎÍÑÅӤˤâÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¼õ¿®¤·¤¿¥á¡¼¥ë¥Ç¡¼¥¿¤Î°¸À襢¥É¥ì¥¹¤òÈ´¤½Ð¤¹¤È¤«¡¢ËÜʸ¤ÎÃæ¿È¤ò¥µ¥Ë¥¿¥¤¥º¤¹¤ë¤È¤«¡¢¤½¤ó¤Ê¾ì¹ç¤Ç¤¹¤Í¡£¥¹¥È¥ê¡¼¥à¤«¤é¼õ¤±¼è¤ì¤ë¤Ã¤Æ¤³¤È¤Ïɸ½àÆþÎϤ«¤é¤Î¥Ç¡¼¥¿¤â²òÀϤǤ¤ë¤ï¤±¤Ç¡¢¤¿¤È¤¨¤Ð¡¢.forward¤Ç¥á¡¼¥ë¤ò¥×¥í¥°¥é¥à¤ËžÁ÷¤·¤Æ¤½¤³¤Ç¤Ê¤ó¤«½èÍý¤¹¤ë¤È¤¤Ê¤É¡¢É¸½àÆþÎϤè¤ê¥×¥í¥°¥é¥à¤Ë¥á¡¼¥ë¥Ç¡¼¥¿¤¬ÅϤµ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¤¬¡¢¤½¤³¤ÇJavaMail?¤ÎAPI¤òÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¥µ¥ó¥×¥ë †¥µ¥ó¥×¥ë¤È¤·¤Æ°Ê²¼¤Î¤è¤¦¤Ê¥á¡¼¥ë¤ò°·¤Ã¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ From fromaddress@hogehoge.com Sun May 18 01:13:17 2008 Return-Path: <fromaddress@hogehoge.com> X-Original-To: toaddress@hogehoge.jp Delivered-To: toaddress@hogehoge.jp Received: from fuga.so-net.ne.jp (fuga.so-net.ne.jp [202.238.82.9]) by mail.hogehoge.jp (Postfix) with ESMTP id A75B1408BE for <toaddress@hogehoge.jp>; Sun, 18 May 2008 01:13:12 +0900 (JST) Received: from [127.0.0.1] by fuga.so-net.ne.jp with ESMTP id m4HGD9n9027300; Sun, 18 May 2008 01:13:09 +0900 (JST) Date: Sun, 18 May 2008 01:13:10 +0900 From: Hogehoge Com <fromaddress@hogehoge.com> To: toaddress@hogehoge.jp Subject: =?ISO-2022-JP?B?GyRCJUYlOSVIJWEhPCVrISobKEI=?= Message-Id: <20080518011206.8EB1.fromaddress@hogehoge.com> MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.31 [ja] ¥á¡¼¥ë¤Î¥Æ¥¹¥È¤Ç¤¹¡£ end¡£ ¤³¤Î¥á¡¼¥ë¤ò¥¹¥È¥ê¡¼¥à¤«¤é¼õ¿®¤·¤Æ¡¢JavaMail?¤ÇÆâÍÆ¤ò²òÀϤ·¤Æ¤ß¤¿¤¤¤È»×¤¤¤Þ¤¹¡£¤À¤¤¤¿¤¤¤ÎÆâÍÆ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¤Í¡£
¤Á¤Ê¤ß¤Ë Subject: =?ISO-2022-JP?B?GyRCJUYlOSVIJWEhPCVrISobKEI=?= ¤Ç¤¹¤¬ "GyRCJUYlOSVIJWEhPCVrISobKEI=" ¤òBase64¤Ç¥Ç¥³¡¼¥É¤·¤Æ¤½¤Î¥Ð¥¤¥Ê¥ê¤ò¾åµ ISO-2022-JP ¤Ç¥Ç¥³¡¼¥É¤¹¤ë¤È¡Ö¥Æ¥¹¥È¥á¡¼¥ë¡ª¡×¤È¤Ê¤ê¤Þ¤¹¡£ MIME¤Ç¥¨¥ó¥³¡¼¥É¤µ¤ì¤¿Mail¤ÎSubject¤Î¥Ç¥³¡¼¥É¡¢¥¨¥ó¥³¡¼¥É - ¶µ¤¨¤Æ¡ªgoo ¤Þ¤º¤Ï¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤«¤é¥á¡¼¥ë¤òÆÉ¤ß¼è¤ë †¤Þ¤º¤Ïɸ½àÆþÎϤ«¤é¤Ç¤Ê¤¯¥Õ¥¡¥¤¥ë¤«¤é¥¹¥È¥ê¡¼¥à¤òºîÀ®¤·¤Æ¡¢¥á¡¼¥ë¤ò²òÀϤ·¤Æ¤ß¤Þ¤¹¡£¾åµ¥Õ¥¡¥¤¥ë¤ò¥Æ¥¥¹¥È¤ÇJIS¤ÇÊݸ¤·¤Æ¤ª¤¤Þ¤¹¡£ ¥µ¥ó¥×¥ë¤Ï°Ê²¼¤ÎÄ̤ꡣ public class FileMain {
public static void main(String[] args) throws IOException {
try {
InputStream in = new FileInputStream(new File("mail.dummy.txt"));
Session session = Session.getDefaultInstance(
new java.util.Properties(), null);
MimeMessage message = new MimeMessage(session, in);
print(message);
} catch (MessagingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
private static void print(MimeMessage message) throws MessagingException,
IOException {
System.out.println("---- Á´¥Ø¥Ã¥À¤ò¥ê¥¹¥È¤·¤Þ¤¹ ----");
Enumeration<Header> allHeaders = message.getAllHeaders();
while (allHeaders.hasMoreElements()) {
Header header = allHeaders.nextElement();
System.out
.println(header.getName() + " : " + header.getValue());
}
System.out.println("---- Á´¥Ø¥Ã¥À °Ê¾å ----");
System.out.println("---- ¥Ø¥Ã¥À̾»ØÄê¤Ç¼è¤Ã¤Æ¤ß¤ë(Received) ----");
String[] headers = message.getHeader("Received");
for (String header : headers) {
System.out.println(header);
}
System.out.println("---- ¥Ø¥Ã¥À̾»ØÄê¤Ç¼è¤Ã¤Æ¤ß¤ë(Return-Path) ----");
headers = message.getHeader("Return-Path");
for (String header : headers) {
System.out.println(header);
}
System.out.println("---- ¥Ø¥Ã¥À̾»ØÄê¤Ç¼è¤Ã¤Æ¤ß¤ë(Subject) ----");
headers = message.getHeader("Subject");
for (String header : headers) {
System.out.println(header);
}
System.out.println("¥Ç¥³¡¼¥É¢¬¤·¤Æ¤¯¤ì¤Ê¤¤");
System.out.println("---- ÀìÍѤΥ᥽¥Ã¥É¤Ç¼è¤Ã¤Æ¤ß¤ë(Subject) ----");
System.out.println(message.getSubject());
System.out.println("¥Ç¥³¡¼¥É¢¬¤·¤Æ¤¯¤ì¤¿");
System.out.println("---- ÀìÍѤΥ᥽¥Ã¥É¤Ç¼è¤Ã¤Æ¤ß¤ë(To) ----");
Address[] allRecipients = message.getAllRecipients();
for (Address address : allRecipients) {
System.out.println(address);
}
System.out.println("---- ¥á¡¼¥ëËÜÂΤμèÆÀ ----");
System.out.println(message.getContent());
System.out.println("--------");
}
}
·ë²Ì¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹ ---- Á´¥Ø¥Ã¥À¤ò¥ê¥¹¥È¤·¤Þ¤¹ ---- From fromaddress@hogehoge.com Sun May 18 01 : 13:17 2008 Return-Path : <fromaddress@hogehoge.com> X-Original-To : toaddress@hogehoge.jp Delivered-To : toaddress@hogehoge.jp Received : from fuga.so-net.ne.jp (fuga.so-net.ne.jp [202.238.82.9]) by mail.hogehoge.jp (Postfix) with ESMTP id A75B1408BE for <toaddress@hogehoge.jp>; Sun, 18 May 2008 01:13:12 +0900 (JST) Received : from [127.0.0.1] by fuga.so-net.ne.jp with ESMTP id m4HGD9n9027300; Sun, 18 May 2008 01:13:09 +0900 (JST) Date : Sun, 18 May 2008 01:13:10 +0900 From : Hogehoge Com <fromaddress@hogehoge.com> To : toaddress@hogehoge.jp Subject : =?ISO-2022-JP?B?GyRCJUYlOSVIJWEhPCVrISobKEI=?= Message-Id : <20080518011206.8EB1.fromaddress@hogehoge.com> MIME-Version : 1.0 Content-Type : text/plain; charset="ISO-2022-JP" Content-Transfer-Encoding : 7bit X-Mailer : Becky! ver. 2.31 [ja] ---- Á´¥Ø¥Ã¥À °Ê¾å ---- ---- ¥Ø¥Ã¥À̾»ØÄê¤Ç¼è¤Ã¤Æ¤ß¤ë(Received) ---- from fuga.so-net.ne.jp (fuga.so-net.ne.jp [202.238.82.9]) by mail.hogehoge.jp (Postfix) with ESMTP id A75B1408BE for <toaddress@hogehoge.jp>; Sun, 18 May 2008 01:13:12 +0900 (JST) from [127.0.0.1] by fuga.so-net.ne.jp with ESMTP id m4HGD9n9027300; Sun, 18 May 2008 01:13:09 +0900 (JST) ---- ¥Ø¥Ã¥À̾»ØÄê¤Ç¼è¤Ã¤Æ¤ß¤ë(Return-Path) ---- <fromaddress@hogehoge.com> ---- ¥Ø¥Ã¥À̾»ØÄê¤Ç¼è¤Ã¤Æ¤ß¤ë(Subject) ---- =?ISO-2022-JP?B?GyRCJUYlOSVIJWEhPCVrISobKEI=?= ¥Ç¥³¡¼¥É¢¬¤·¤Æ¤¯¤ì¤Ê¤¤ ---- ÀìÍѤΥ᥽¥Ã¥É¤Ç¼è¤Ã¤Æ¤ß¤ë(Subject) ---- ¥Æ¥¹¥È¥á¡¼¥ë¡ª ¥Ç¥³¡¼¥É¢¬¤·¤Æ¤¯¤ì¤¿ ---- ÀìÍѤΥ᥽¥Ã¥É¤Ç¼è¤Ã¤Æ¤ß¤ë(To) ---- toaddress@hogehoge.jp ---- ¥á¡¼¥ëËÜÂΤμèÆÀ ---- ¥á¡¼¥ë¤Î¥Æ¥¹¥È¤Ç¤¹¡£ end¡£ -------- ¡ã¡ä¤È¤«¤ÎÈù̯¤ÊÁõ¾þ¤Þ¤ÇºÙ¤«¤Ê²òÀϤϤ·¤Æ¤¯¤ì¤Ê¤¤¤ß¤¿¤¤¤Ç¤¹¤¬¡¢¤Þ¤¢¡¢¼«Á°¤Ç²òÀϤ¹¤ë¤è¤ê¤ÏÎɤµ¤½¤¦¤Ç¤¹¡£ ¥Ñ¥¤¥×¤µ¤ì¤¿É¸½àÆþÎϤ«¤é¥á¡¼¥ë¤òÆÉ¤ß¼è¤ë †¼¡¤Ë¼ÂºÝ¤Ëɸ½àÆþÎϤ«¤é¤ä¤Ã¤Æ¤ß¤Þ¤¹¡£ public static void main(String[] args) {
try {
InputStream in = System.in;
Session session = Session.getDefaultInstance(
new java.util.Properties(), null);
MimeMessage message = new MimeMessage(session, in);
print(message);
} catch (MessagingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
¥¹¥È¥ê¡¼¥à¤È¤·¤ÆÉ¸½àÆþÎϤòÅϤ·¤Æ¤¤¤Þ¤¹¡£¤Ç¤Ï¼ÂºÝ¤ËUnix¾å¤Ç¥Ñ¥¤¥×¤Çɸ½àÆþÎϤòÅϤ·¤Æ¤ß¤Þ¤·¤ç¤¦¡£ [hoge@www Test]$ export CLASSPATH=lib/mail.jar:lib/sample.jar:lib/activation.jar [hoge@www Test]$ cat mail.dummy.txt | java nu.mine.kino.sample.Main ½ñ¤¤Þ¤»¤ó¤¬Àè¤ÈƱ¤¸·ë²Ì¤¬ÆÀ¤é¤ì¤Þ¤·¤¿¡£ ¤Á¤Ê¤ß¤Ë¥Ñ¥¤¥×¤·¤Ê¤¤¾ì¹ç¤ÏÆþÎÏÂÔ¤Á¤Ë¤Ê¤ê¤Þ¤¹¡£¿§¡¹ÆþÎϸåCtrl+ z ¤ÇÆþÎϽªÎ»¤ò»Ø¼¨¤¹¤ì¤Ð¡¢¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤µ¤ì¤Þ¤¹*2¡£ ´ØÏ¢¥ê¥ó¥¯ †¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¤Î¹½Ãۤȱ¿ÍÑ¡ÊÁ°ÊÔ¡Ë¡Ê4/4¡Ë ¤³¤Îµ»ö¤Ï ¸½ºß¤Î¥¢¥¯¥»¥¹:22930 |