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のあとにドメイン書いてないので送れないサーバーがある。
[修正]
windowsのSMTPが仕様として ..や .@のメールをはねるのはいい。
→ はねないのもある。使ってていいのだろうか。
しかし、ピリオドのない "abc"@なんてアドレスも通さないのはどうか。