C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: メーラーの起動


(過去ログ 120 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■72079 / inTopicNo.1)  メーラーの起動
  
□投稿者/ みち (1回)-(2014/05/16(Fri) 02:02:52)

分類:[ASP.NET (VB)] 

どうかお力をお貸しください。
ASP.NET(VB)でクライアント側でメーラーを起動させたいです。

System.Diagnostics.Process.Start("mailto:foo@boo.co.jp")

これで、開発サーバーではちゃんとメールが起動します。
でも、ファイルを運用しているサーバーにアップすると、起動せずにエラーになります。

Unknown error (0x80041002)

です。これは何が問題なのでしょうか・・・
引用返信 編集キー/
■72080 / inTopicNo.2)  Re[1]: メーラーの起動
□投稿者/ 774RR (152回)-(2014/05/16(Fri) 06:40:32)
とりあえずぐぐってみた。

http://ap.atmarkit.co.jp/bbs/core/fwin/12373
http://stackoverflow.com/questions/23554929/unknown-error-0x80041002-when-starting-process-on-asp-net-server
ということで権限/設定の問題だと思われる。

引用返信 編集キー/
■72082 / inTopicNo.3)  Re[1]: メーラーの起動
□投稿者/ 渋木宏明 (6回)-(2014/05/16(Fri) 07:08:50)
渋木宏明 さんの Web サイト
2014/05/16(Fri) 07:09:32 編集(投稿者)

> System.Diagnostics.Process.Start("mailto:foo@boo.co.jp")

Process.Start() が実行されるのはサーバ上ですから、↑だと、「サーバ上でメーラーが起動」してしまいます。

Web アプリで、クライアント側でメーラーを起動したいなら

・mailto:xxx のリンクを HTML 内に作成して、それをユーザにクリックさせる
・mailto:xxx のリンクを JavaScript で「クリックしたこと」にする

などなど、「メーラーを起動する処理処理」クライアント側でを実行しなければなりません。

引用返信 編集キー/
■72083 / inTopicNo.4)  Re[1]: メーラーの起動
□投稿者/ Azulean (310回)-(2014/05/16(Fri) 07:10:23)
No72079 (みち さん) に返信
> ASP.NET(VB)でクライアント側でメーラーを起動させたいです。
>
> System.Diagnostics.Process.Start("mailto:foo@boo.co.jp")

このコードは、ASP.NET が動いているサーバーでプロセスを起動するというものです。
望んでいる「クライアント側でメーラーを起動させる」コードではありません。


クライアント側で動かしたいのであれば、クライアントで実行されるようなスクリプトなどを用意する必要があります。
(ASP.NET の場合、VB.NET のコードで書いている部分はサーバーで実行されると言うことを念頭に置きましょう)
引用返信 編集キー/
■72085 / inTopicNo.5)  Re[2]: メーラーの起動
□投稿者/ 774RR (153回)-(2014/05/16(Fri) 08:35:12)
「クライアント側で」メーラーって普通に mailto リンクのことかー orz

ASP.NET サーバー側プログラムで検出した異常状態を管理者に自動メール送信するとか
そういう話かと思った ...

引用返信 編集キー/
■72089 / inTopicNo.6)  Re[1]: メーラーの起動
□投稿者/ WebSurfer (258回)-(2014/05/16(Fri) 10:24:27)
No72079 (みち さん) に返信

何故うまく行かないかはすでに回答がされているので、蛇足ですけど・・・

開発マシンで IIS が使えるのであれば、ASP.NET 開発サーバーを使うのは止めて、
IIS を使うことをお勧めします。

開発サーバーでは問題なく動いていても、IIS を使った本番環境に移すと動かない
ということがよくあるからです。

今回、サーバーがエラーを出したのは、多分、Session 0 分離の影響ではないかと
思いますが、そうであれば、IIS 上で開発すると同じ問題が出るはずなので、その
時点で気づくかもしれません。

ただ、それ以前に、サーバ側で起こっていることとクライアント側で起こっている
ことの違いを認識すると言うのが Web アプリ開発では重要だと思いますが。

ちなみに、開発サーバーと IIS の違い、Session 0 分離とは何かについては、自分
のブログで恐縮ですが、以下のページにありますのでよろしければ見てください。

ASP.NET 開発サーバーと IIS
http://surferonwww.info/BlogEngine/post/2011/11/18/ASPNET-development-server-and-IIS.aspx
引用返信 編集キー/
■72102 / inTopicNo.7)  Re[2]: メーラーの起動
□投稿者/ みち (2回)-(2014/05/16(Fri) 20:06:21)
ありがとうございました。無事、解決することが出来ました。サーバーサイドではなくてASPXファイルのクライアント側のコードをメーラーが起動するように修正して、無事、起動しました。

<asp:HyperLinkField

DataNavigateUrlFields="E_email"

DataNavigateUrlFormatString="mailto:{0}"

datatextfield="E_email"

HeaderText="Email"

NavigateUrl="mailto:{0}" />
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -