ケータイ向けサイトでmailtoを利用する際は改行コードに注意    

先日Webを巡回していて見かけたブログで、興味深い記事がありましたのでご紹介させていただきます。

一部のドコモ端末で、mailto内の改行コードを間違えると、メールが送信されないケースがあるようです。

→ BUKURO-JIN 届かない mailto ~DoCoMo 改行コードの罠~ [y-110.net]

 

対象となるのは、「ドコモのN, Pシリーズ」で、mailto内のbody部の改行コードをLFでURLエンコードしてしまうと、メールが送信されないとのことです。

送信されない例:

<a href="mailto:x@example.jp?subject=xxx&body=xxx%0Axxx%0A">

正しい例:

<a href="mailto:x@example.jp?subject=xxx&body=xxx%0D%0Axxx%0D%0A">

RFCではメールの改行は「CR+LF」となっていますので、「%0D%0A」(CR+LFのURLエンコードした状態)としてやることで、正しく送信されるようです。

手元のP905iで試してみたところ、「送信しました」というダイアログが表示され、メールの送信処理には成功するのですが、確かにいつまで待ってもメールは送られてきません。
特定端末のみの不具合になりますし、その場でエラーが出るわけではないので、これは気づきにくいですね。

なお、送信からきっちり6時間後に次のようなエラーメールが返ってきました。
利用者は、ようやくここでメールが送信できなかったことに気づく形になります。

From: iモードセンター
Subject: 送信メールエラー

相手先ホストの都合により送信できませんでした。
Receiver's host can't accept your mail

宛先: x@example.jp
件名: xxx

こちらリンク先のブログでは、原因はメーラーのバグではないかと書かれていますが、こちらの「bare LF」問題が関係しているように思えます。

→ アシアルブログ 携帯端末とbare LFとqmail [asial.co.jp]

 

ともかく、改行入りのmailtoを作成する際にはお気をつけください。

 

関連:


このエントリーを含むはてなブックマーク はてなブックマークに追加
 

最近の記事





コメントを書く