Home

開発者ブログる。

Stringクラスでの文字列連結はやはり遅かった

静止画撮影ソフトのメール送信ライブラリの現状について書こう。
AOLのsmtpサーバーに送信できない不具合があるため、週末から独自ライブラリを作成して実験中だ。
今日、添付ファイルを付けると送信が妙に遅いことに気が付いた。

元は、PHPで書いたものを移植しただけなので心当たりがないが、何か問題があったかなぁ。
 ・
 ・
 ・
午前中、細かいバグフィックスをしていて、ふと、VB.NETは、Stringクラスの文字列結合が遅いことを思い出した。
そういえば、かなり遅かったな。
とりあえず、StringクラスをStringBuilderクラスに書き換えてみた。
たぶん、かなり早くなったと思う。
ベンチマーク取れるようにしたらよかったのだが、すぐに書き換えてしまったので、
効果を客観的に測定できない・・・。

お客様に速度が上がったことを報告するわけではないので、今回は省略、省略。
これからも細かい問題が出てくると思うが、リリース後もテストを継続して直していこう。

さて、遅い昼食をとった後、深夜のリリースに間に合うよう準備を始めよう。
  • Comments (Close): 0
  • Trackbacks (Close): 0

添付ファイル送信ライブラリ実装完了(WebCameraSnap)

静止画撮影ソフトについてブログる。

本日(12/13)、SMTP送信ライブラリが一通り完成した。
昨日(12/12)はテキストだけだったが、これで添付ファイルの送信ができるようになった。
数時間前から開発環境で連続稼動テストを開始した。
24時間テストして問題がなければ12/16(水)にリリースする予定。

BitmapからMemoryStreamを介して送信するライブラリも作成したが、デバッグは行っていない。
よく調べてみると、メール送信時に必ずサムネイルファイルを作成していた。
MemoryStreamを介する方法は試験的な実装だったようだ。そういえば、ドライブレコーダとして
ネットブックパソコンでディスクアクセスなしで使えたらいいな、と思い準備していたのだ。

さて、昨日の記事の補足をしよう。
独自ライブラリでテキスト送信(WebCameraSnap)

まず、以下の件、

> 今晩、AOLのSMTPサーバーはレスポンスが悪かった。
> 他ドメインへのメールが最初は数十秒遅れるくらいで送れていたのが、途中から送れなくなった。
> というか、全く届かなくなった。送信規制がかかったのか、混雑していたからかは不明だ。
> 2時間以上が経過するがまだ届かない。ちなみにAOLアドレスにはすぐに届くのだが。

本文を送信した後にサーバーからの応答コードを無視するようにしていたので、応答コードを見るようにした。
正常応答は250だが、今回は554であり、エラーが発生していることがわかった。

554-MUST COMPLETE IMAGE PUZZLE BEFORE SENDING. PLEASE GOTO http://ロックを解除するWebサイトのURL
554 5.5.0 E7.10 TRANSACTION FAILED

連続送信や届かないアドレスに送信したり、様々なメール送信をしていたので、
SPAMアカウントとしてロックがかかっていたようだ。ちなみに、自分自身には届く。

記載されたWebサイトにアクセスしてロックを解除すると正常に送信できるようになった。

明日(火曜日)は、同時リリースに含める細かい修正をどこまでするのか悩むことにする。
v1.05のリリースの準備(自社Web更新/メルマガ本文/Vector他配布サイト更新)もやらねば。
以上だ。

独自ライブラリでテキスト送信(WebCameraSnap)

静止画撮影ソフトについてブログる。

AOLのSMTPサーバーにおいて接続時にエラーが発生する以下の件、
System.Net.Mail.SmtpClientを使ったSMTP認証メール送信に失敗する

結局、独自ライブラリで対応することにした。
さきほど、ようやくSMTP認証した後にテキストを送信できるようになった。
細かい部分の調整で思いのほか時間がかかってしまった。

テキスト送信ができたので、これで添付ファイルも送信できそうだ。
今回、添付メールの送信ロジックが2種類あり。
  1. 「画像ファイル(PNG/JPG)」から画像データを読み込み送信
  2. 「Bitmap」オブジェクトをMemoryStreamに書き出して送信
ファイルから読み込む版はよしとして、Stream送信しているロジックは少し整頓する必要がありそうだ。
よ~く見ていると、圧縮率設定、イメージタイプの指定など修正したい箇所がいくつか出てきた。
月曜日に再開することにしよう。

今晩、AOLのSMTPサーバーはレスポンスが悪かった。
他ドメインへのメールが最初は数十秒遅れるくらいで送れていたのが、途中から送れなくなった。
というか、全く届かなくなった。送信規制がかかったのか、混雑していたからかは不明だ。
2時間以上が経過するがまだ届かない。ちなみにAOLアドレスにはすぐに届くのだが。
  • Comments (Close): 0
  • Trackbacks (Close): 0

System.Net.Mail.SmtpClientを使ったSMTP認証メール送信に失敗する

昨日、aol利用者の方から静止画撮影ソフトのメール送信のテスト送信に失敗する旨の連絡をいただいた。

午前中から調査しているが、なかなか原因に迫れない。
メールアカウントを取得しないと難しそうだ。
www.aol.jpにアクセスしてみると、無料でメールアドレスを取得できた。

テスト用のアカウントを入手できたので、アカウントをセットしてエラーを再現してみた。


構文エラーです。コマンドが認識できません。 サーバーの応答: 5.5.0 E6.1 CLIENT AUTHENTICATION REQUIRED. USE ESMTP EHLO AND AUTH.
どうも、System.Net.Mail.SmtpClientのSendメソッドでエラーが発生しているらしい。

ネットで調べてみると同様の事例が何件かあったが、SmtpClientを使っての解決策はなかった。

対応策として、
  1. 個人か会社が作成しているクラスライブラリを使う
  2. System.Web.Mail.SmtpMail(MS社によると非推奨だが・・・)
  3. 自作ライブラリを使う
最終的には自作ライブラリに置き換えたいと考えているが、あいにくVB.NETですぐに使えない
PHPスクリプトで作成したライブラリしか手持ちがない。書き直して、簡易テストして、長期テストして
かなり時間はかかりそうなので、暫定的に、2番目の「System.Web.Mail.SmtpMail」でいくことにする。
うまくいかない時は、3番目の自作ライブラリにする。

結果は、進展があればまた記載しようと思う。

  • Comments (Close): 0
  • Trackbacks (Close): 0

ASAHIネット光サービス固定IP->動的IPに仕様変更

  • 2009-12-04 (金)
  • 日常
  • 作成者:hitotsu
昨日、ASAHIネットからハガキが来ていた。
「重要なお知らせ 固定IPアドレスをご活用のお客様は、必ずご覧ください」
とある。自分の利用形態では固定IPはとても重要だ。

内容を見ると、
平成22年2月1日(月)から
「インターネット接続時のIPアドレスを固定IPアドレスから動的IPアドレスに変更」
固定IPサービスは申込制で、現在、使用中の固定IPアドレスを継続して利用したい場合は、
平成22年1月31日(日)までに申し込みください、とある。

ASAHIネット フレッツ・光プレミアム 仕様変更のご案内
http://asahi-net.jp/support/news/091201.html

今まで何で標準仕様が固定だったのか正直わからなかったので、今回の仕様変更に驚きはないが、費用について書かれていないのが気になる。
調べてみた。

固定IPアドレス取得ならASAHIネット
http://asahi-net.jp/service/option/fixedip/
使っていたのは、「フレッツ・光プレミアム ファミリーコース」なので、これからも無料のようだ。

Webで申し込み手続きしたところ、接続IDに変化があり、これまでのIDの先頭に「f.」が付くようになった。
光プレミアムにするまでにフレッツ・ADSLで固定IPオプションを使っていたが、その時と同じIDだ。
ルータの設定を変更して再接続すると、これまでと同じIPアドレスが割り当てられていた。
これでとりあえず、仕様変更後もこれまでと同様に使えそうだ。
しかし、光プレミアムで使えるASAHIネットの固定IPは安い。
  • Comments (Close): 0
  • Trackbacks (Close): 0

Home

メタ情報

Return to page top