- PR -

WindowsXPでSMTPポートをプログラムから変更するには?

投稿者投稿内容
Kozoo
ベテラン
会議室デビュー日: 2005/11/10
投稿数: 52
お住まい・勤務地: コンクリートジャングル東京
投稿日時: 2007-06-16 17:34
引用:

ちゃっぴさんの書き込み (2007-06-16 00:01) より:
SMTP server の指定って account 毎の設定のような気がしますけど、大丈夫かな?


のようです。
0000000x(X=1,2,3...)のようにメールアカウントが作られるので、
ユーザーが複数のメールアカウントを保持していると条件分岐が出るかと思います。
こういう場合はWSH等のスクリプト処理が良さそうですが、どうなのでしょう。
書き換え箇所の判定やSMTP Portキーの有無 等、難しい点も多そうですね。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-06-16 18:02
> ユーザーが複数のメールアカウントを保持していると条件分岐が出るかと思います。
> こういう場合はWSH等のスクリプト処理が良さそうですが、どうなのでしょう。

複数の account が絶対に存在しないという確証が無い限り、script 等で条件武器を行わなければいけないですね。

その場合、先に mail address の domain を判定してから、実際の書き換えという流れになるでしょう。

WSH でやるなら WMI の StdRegProv を使う必要があるでしょう。
_________________
MrKong
常連さん
会議室デビュー日: 2004/01/24
投稿数: 22
投稿日時: 2007-06-16 20:42
今回、レジストリ変更に使うのはVB.NETです。
Kozooさんのおっしゃる通り、
0000000x(X=1,2,3...)のようにメールアカウントが作成されるので、
この部分をループで回して、
ポート番号を変更するSMTPサーバ名で引っ掛ける、
という処理の流れを考えています。
SMTPサーバ名もレジストリキー「SMTP Server」で存在するので、
これをIF条件として真ならばポート番号を変更します。
変更するアカウント名は決めうちできないのですが、
SMTPサーバ名が決まっているので対応できると思っています。

ただ、「SMTP Port」キーは一度設定変更しないと存在しないので、
存在しない場合があります。
そのときは、レジストリキーの追加をする必要があります。

スキルアップ/キャリアアップ(JOB@IT)