The project of U-WA-
http://uwa.potetihouse.com/
トップページ > 記事閲覧
アイコン [TKMP]ドメイン名が日本語のとき、メール送信が行えない
日時: 2013/01/17 17:30
名前: だいち

お世話になっております。
だいちと申します。

早速ですが、TKMP.DLLを使用してメール送信を行った際に、下記エラーが発生しました。
「差出人登録に失敗しました。」

原因を探った結果、コンピュータ名がマルチバイト文字を含む為、異常終了していることは
わかったのですが、コンピュータ名を変更せずにメール送信を行いたいのです。
送信確立をする際に、作成しているアプリ上でのみコンピュータ名を変更できないか
探してみてはいるのですが、見つかりません。
皆様にお知恵をお貸し頂けないかと投稿させて頂きました。

----- 以下通信ログ -----
220 test.net ESMTP Sendmail 8.12.10/8.12.10; Thu, 17 Jan 2013 16:50:34 +0900
EHLO 日本語
501 5.0.0 Invalid domain name  ← EHLOコマンドは送信しているが、正しいホスト名として認識されていない
AUTH LOGIN
334 xxxxxxx
xxxxxxxxxxxxxxxxxxxxxx
334 xxxxxxxxxxxxx
xxxxxxxxxxxxx
235 2.0.0 OK Authenticated
MAIL FROM: <test@test.co.jp>
503 5.0.0 Polite people say HELO first  ← EHLOコマンドが認識されていないためにここでエラーとなる
----- ここまで -----

環境:
 [OS]    Windows7 pro
 [開発環境] Visual Stutio 2010
[言語]   C#

ご多忙のところ申し訳ございませんが、何卒よろしくお願いいたします。
メンテ

Page: 1 |

ファイル Re: [TKMP]ドメイン名が日本語のとき、メール送信が行えない ( No.1 )
日時: 2013/01/26 00:26
名前: Toki◆pRU.c9X.EOI

返信が送れて申し訳ありません。

TKMPの実装でコンピュータ名にマルチバイト文字を使用することを想定していなかったため、
現在のライブラリでは対応できません。

方法としてはSTMPで接続時に使用する
ISmtpLogonインターフェイスを持つクラスを継承し

string Greeting(string Receive)
をオーバーライドすればいけると思います。

Greetingメソッドの実装はライブラリ中のクラスすべて
string ISmtpLogon.Greeting(string Receive)
{
return "EHLO " + System.Net.Dns.GetHostName();
}
となっているので丸ごと置き換えるだけで済むと思います。


メンテ
ファイル Re: [TKMP]ドメイン名が日本語のとき、メール送信が行えない ( No.2 )
日時: 2013/01/28 14:33
名前: だいち

Toki様

返信ありがとうございます。

ご教示頂きました内容で作成したところ、上手くいきました。
また、不明な点がでましたら、質問させて頂きます。
メンテ

Page: 1 |

題名 スレッドをトップへソート (必ず題名内に日本語を使用してください)
名前
E-Mail
URL
パスワード (記事メンテ時に使用)
コメント 顔smile01.gif 顔smile02.gif 顔smile03.gif 顔smile04.gif 顔smile05.gif 顔smile06.gif 顔smile07.gif

   クッキー保存