先日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を作成する際にはお気をつけください。
関連: