<< 2024/05 >> | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|
Version 2.02a Memo
11/11/12 03:55 / PMailServer2
PMail Server は Boune mail (所謂エラーメール)をローカルユーザーへのみ返して、外部ユーザーには送らない。という仕様を取ってきました。
これは、送信者を偽装してわざとエラーメールにすることにより、特定のアドレスへエラーメールを大量に送りつけることができる。という構造的な問題があって、意図的にずっとサポートをしていなかったのです。(それ以外に某MTAの仕様が嫌いってのもあったのですが・・・これは後述) が、しかし、これはこれで1つ問題があり、中継サーバーとして利用した場合、エラーメールが返らないという問題もあります。 サーバーAが、中継サーバーにメールを送って、中継サーバーがサーバーBに中継するとします。 サーバーAが配信した時点で中継サーバーが受け取らない(エラー)になった場合、サーバーAが元の送信者にエラーメールを返しますので、これは問題ありません。 しかし、中継サーバーがサーバーBへ中継した際にサーバーBでエラーになると、中継サーバーが PMail Server の場合、エラーメールを返しませんので(中継サーバーに該当するアカウントがあれば、そこに返します。そこからフォワードで転送することも可能ですが、不特定多数から送られてくる場合は当然アウトです。) サーバーBでキャッチオールで受信して、エラーを送るようなアドオン作れば可能ですが、アドオンが必要になったりしますので、あまり現実的な対処方法ではありませんでした。 前置きが長いのですが・・・ 最近、お問い合わせの中で中継サーバー的な利用をするユーザー様も増えてきていることもあり、少し今更感があるのですが、外部アドレスへエラーメールを送る機能を実装することにしました。 有効にすることにより中継サーバーであっても、エラーメールを送ることが出来るようになります。 そして、また前置きが長いのですが・・・ 冒頭に書いた某MTAの嫌いな仕様があって、それを引きずって外部への配信を毛嫌いしていた理由なんですが・・・ 送ったメールを全文引用して Bounce mail を送ってくるのですよ。「添付ファイルがあった場合、エンコードされた MIME 部分も全て含めて」 また元のメールを MIME でパックして送ってくるのであればマシなんですが、本文にそのままテキストで張り付けて送ってくるケースもあります。 4.0M くらいの添付ファイルで本文が5万行とかになります。 (Base64 でエンコードされている為) テキストばかりの時代であれば、別に大した行数にはならないのでよかったと思いますが、最近ではメールに数メガのファイルを添付するのは普通なので、この仕様はどうかと思います。(そもそも送信者が送ったメールなので、それを全文送りなおすというのは無駄な気がするんですが・・・) ということで、そういうエラーメールは返さない(元々の PMail Server のエラーメールと同じ仕様)でエラーメールを送るような仕様となります。 あと、某G社のメールを Webmail で引用(返信)した際におかしくなる点も修正しました・・・というか対応しました。 某G社のメールは基本 UTF-8 になっているのですが、7bit しか通らない(通さない)MTA も存在するので、UTF-8 を HTML エンコード(UTF-8 のバイナリを %#xxxx; のように ASCII で表記)して、それを更に Base64 でエンコードしています。 「UTF-8 を直接 Base64 にすればいいのに。Transfer-Encoding も Base64 としか書かれていないのに。というか判定失敗する可能性あるやん?テキストベースのメーラーどうすんねん。」 基本的に Web ベースだからそういう仕様なんですかね。 影響力あるんだから、Content-Transfer-Encoding: Base64/HTML とかそういう風に規定してごり押ししてくれた方がはるかにマシ。 うちの Webmail も Webベースですので、表示上は文字化けなどしないので、引用時まで気が回っていませんでした。 ただ、実際にはワードラップ機能を使っていなければ問題ありません。 ワードラップ処理は ASCII での byte 単位で指定をする必要があって(デフォルトで 78byte、一応歴史的理由というものがあり、改行を含めて「80byte で納めるべき」最大でも改行を含めて「1000byte 以内にしなさい」というものがあって、78byte になっています)デコード前の ASCII での文字数で換算しています。それを %#xxxx; なんて出力をしてくれているので、ワードラップ処理が誤作動をしてしまう→引用時におかしくなるという訳です。 どうにも回避できないので、その場合はワードラップ処理を行わないという対処になっています。 そもそもデコードすると 1byteから3byteに可変してくれますので。文字数で処理するとRFCを合わなくなりますし、Webmail は原則として Shift-JIS 出力しているので、その点でも困ったことになるという話もあります。 ユーザーレベルでは関係の無い話だったりしますが(^-^; [更新日付:2011/11/12 03:55:53]
トラックバックを見る(0) Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+dbbaddfdd45fb849a7d26b67c61e165b3dc03703] TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+dbbaddfdd45fb849a7d26b67c61e165b3dc03703] 記事へのコメント コメントはありません |
@AKISoftOfficialをフォロー
掲示板 サポートBBS PMailServer BBS アクセスの多い記事
最新記事(カテゴリ別)
PMailServer2 Version 2.53 をリリースしました。
04/08 00:50 フリー版からの製品版移行時の MTA 並列数について 02/17 23:52 メールサーバーの開発を始めて20年 02/07 21:46 PMailServer2 Version 2.52a をリリースしました。 12/26 14:02 PMailServer2 Version 2.52 をリリースしました。 10/01 10:48 PMailServer2 Version 2.51b をリリースしました。 09/19 01:43 PMailServer2 Version 2.51b(仮) Memo 09/12 00:33 PMailServer2 Version 2.51a をリリース、及び脆弱性についてのお知らせ 09/05 01:15 PMailServer2 Version 2.51a Memo 08/21 00:48 アドレスV125(K5)のスターターリレーの交換 08/04 10:10 最新コメント
コメントはありません
UUアクセス数
今日は 202回
昨日は 164回 トータル 307044回 3ヶ月記事別ランキング
プロフィール
Z80から68系、8086系を経由して
Pascalに移行。現在は Delphiをメインに C/C#も囓ってみたり。 「無い物は作れ」の精神で年がら年中なにかを作っています。 すぐ自前で作りたがるので無駄に工数が上がったりして自爆してみたりもします。 好きな物は麺類とお煎餅 Blom内検索
BLOM Version 1.39 ©2007-15 A.K.I Software all rights reserved. |