SMTP (Simple Mail Transfer Protocol) は最初の版が 1980 年に標準化されたのち,おおきく改訂されてはいない,ふるいプロトコルです. メイルが単なる文字情報のやりとりだけでなく,さまざまな用途につかわれていることは Dabbish ら [Dab 06] などで指摘されていますが,SMTP はそういう用途のためには,ちょっと役不足です. しかし,SMTP においては “to”, “cc”, “bcc” など,宛先をさまざまなかたちで指定することができます. こういう機能は他のプロトコルにおいてはおなじやりかたで指定することはできません. しかし,その有用性はみとめられていて,SIP のインスタンス・メッセージ機能などにも,べつのかたちでとりいれられようとしています. そういうわけで,私は SMTP をみなおしました.
SIP (Session Initiation Protocol) の MESSAGE 要求をつかうことによって,インスタンス・メッセージをおくることができます. しかし,SIP メッセージでは “to” によって宛先をひとつ指定することができるだけであり,“cc” や他の種類の宛先を指定することはできません. しかし,インスタンス・メッセージをつかうときでも,メイルと同様にこうした機能が必要になります. それを実現するため,IETF (Internet Engineering Task Force) では 2007 年末現在,MESSAGE 要求の本体で複数の宛先を指定し,“to” や “cc” をくべつする方法を標準化することが議論されています [Gar 08].
インターネット・ドラフト [Gar 08] から,XML による宛先指定をふくむメッセージの例を引用しておきます.
MESSAGE sip:list-service.example.com SIP/2.0 Via: SIP/2.0/TCP uac.example.com ;branch=z9hG4bKhjhs8ass83 Max-Forwards: 70 To: MESSAGE URI-list service <sip:list-service.example.com> From: Alice <sip:alice@example.com>;tag=32331 Call-ID: d432fa84b4c76e66710 CSeq: 1 MESSAGE Require: recipient-list-message Content-Type: multipart/mixed;boundary="boundary1" Content-Length: 501 --boundary1 Content-Type: text/plain Hello World! --boundary1 Content-Type: application/resource-lists+xml Content-Disposition: recipient-list <?xml version="1.0" encoding="UTF-8"?> <resource-lists xmlns="urn:ietf:params:xml:ns:resource-lists" xmlns:cp="urn:ietf:params:xml:ns:copycontrol"> <list> <entry uri="sip:bill@example.com" cp:copyControl="to" /> <entry uri="sip:randy@example.net" cp:copyControl="to" cp:anonymize="true"/> <entry uri="sip:eddy@example.com" cp:copyControl="to" cp:anonymize="true"/> <entry uri="sip:joe@example.org" cp:copyControl="cc" /> <entry uri="sip:carol@example.net" cp:copyControl="cc" cp:anonymize="true"/> <entry uri="sip:ted@example.net" cp:copyControl="bcc" /> <entry uri="sip:andy@example.com" cp:copyControl="bcc" /> </list> </resource-lists> --boundary1--
この方法は XML を使用することによって柔軟になっているということはできます. しかし,これは SIP 本来のしかけとはまったくちがうものであり,自然なものではなく,プロトコルを複雑化しています. SIP のほかに MIME (Multipurpose Internet Mail Extension) と XML というふたつの言語 (標準) がつかわれています. それに対して,もとの SMTP の方法は SMTP にもともとくみこまれたものであり,自然なかたちで実現されています. というわけで,いままで SMTP はふるくて現代のニーズにあわないプロトコルだとおもっていましたが,いささかそれをみなおしたしだいです.
- [Dab 06] Dabbish, L. A. and Kraut, R. E., “Email Overload at Work: An Analysis of Factors Associated with email Strain”, ACM CSCW '06, pp. 431—440, 2006.
- [Gar 08] Garcia-Martin, M. and Camarillo, G., “Multiple-Recipient MESSAGE Requests in the Session Initiation Protocol (SIP)”, Work in Progress, IETF, December 2007.