ASP.NET メール送信

ASP.NETにて、メールを送信するには、
System.Net.Mail などを使うが、これがまたどうにもならないほど良くない。
.@通さないのはともかく、 ダブルコーテーション通さないし、AlternateView使わないと文字化けするし、  SevenBitなんて変なバグもあった。
自作処理を有料で公開してるとこもあったけど、幾らか聞くのもなあと思って、
自分で処理を書いた。 けどきったないので公開したくない。

参考元
http://dobon.net/vb/dotnet/internet/smtpauth.html#socket

上ので問題なのが、タイトル部分のエンコード
単純にタイトルを 50220にして Base64にしたものをぶつ切りにしてると
文字化けする。 文字化けしないメールソフトがおせっかいなだけだ。
で、Base64に変換したあとの文字数[がよくなるように変換前の文字列]で切るわけなのだが、
JISコードというのは、漢字IN 漢字outなんて仕組みのせーで、
バイト数が文字数と違うので注意。ccとかbccも注意。勝手にCCに設定しとくと
送ってくれるわけじゃない。

[追記]

あと、サンプルのにはEHLOのあとにドメイン書いてないので送れないサーバーがある。

[修正]
windowsSMTPが仕様として ..や .@のメールをはねるのはいい。
 → はねないのもある。使ってていいのだろうか。
しかし、ピリオドのない "abc"@なんてアドレスも通さないのはどうか。