tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^5: vb2005 でメールフォームの作成方法
投稿日: 2008/03/17(Mon) 16:02
投稿者魔界の仮面弁士
> ASPXの中で行うと思われる、
> 1.入力されたデータを受け取る
> 2.受け取ったデータをSMTPサーバーに送信する
> 上記基本的な2点が分からず困っております。

その段階だとすると、メール送信以前に、ASP.NET についての『基礎勉強』が必要かと…。
今のままだと、アドバイスを貰っても、それを自分のアプリに組み込む事は
難しいような気がします。

メール送信(手順2)を行う前に、まずは 手順1 を組めるだけの知識が必要でしょう。
とりあえず、画面上のテキストボックスから入力された内容を、別のラベルに
転記するだけの単純なプログラムを書けるよう、書籍やWeb等で勉強してみてください。


それができたら、その入力データを Label に送る代わりに、
メールサーバに送信するコードに置き換えてやれば OK です。
たとえば、
  Dim smtp As New SmtpClient()
  Dim msg As New MailMessage()

  msg.From = New MailAddress(addressFrom, nameFrom)
  msg.To.Add(New MailAddress(addressTo, nameTo))
  msg.Subject = title
  msg.Body = mailText
  smtp.Host = strServer
  smtp.Send(msg)
といった形にすれば、(UTF-8の)メールが発信されるかと。



> その先に困る事と思うのですが、
いえいえ。それでは順番が逆ですよ。

サーバに配置するつもりなら、プログラミングの前に環境構築を行ってみてください。
まず、Web サーバ側の IIS のバージョンはいくつですか?
また、そのサーバに設定されている ASP.NET のバージョンはいくつですか?
(もし、未インストールなら、aspnet_regiis -i の実行が必要です)

環境が用意できていないなら、プログラムを書いても無駄になってしまいますし、
たとえ環境があっても、事前準備無しでいきなり配置して、それがエラーになった場合、
プログラムに問題があるのか、環境に問題があるのかを切り分けできませんよね。


まずは、「何もしないアプリケーション」または「非常に単純なアプリケーション」を
Web サーバ上に配置してみて、正しく実行できることを確認した方が良いでしょう。


メモ帳にて、
<%@ Page Language="VB"%><% Response.Write("ABC") %>
という 1 行だけを書いたテキストファイルを作り、そのファイル名を
sample.aspx として、サーバにアップロードしてみてください。

そして、ブラウザからその sample.aspx を参照した時に、Web ページに
『ABC』の 3 文字が表示される事を確認しておきましょう。



> ローカルで作成したaspxは仮想フォルダーなど作成せず、
配置先は仮想フォルダでも物理フォルダでも構いませんが、実行アクセス権が
必要になるので、そのフォルダに対して、IIS 管理ツールなどから、
アプリケーション設定の実行アクセス権が、「なし」ではなく、
「スクリプトのみ」などになっていることを確認しておきましょう。


> 単純にffftpなどを使ってアップロードし、
アップロードの方法はどのようなものであっても構いません。
(WebDAV でも FTP でも フォルダ共有でも)

なお、アップロードしたファイルについては、ASP.NET の実行アカウントに対する
アップロードしたファイルに対する読取権限と実行可能権限を与えておいてください。
(多くの場合、これらの権限は自動的に付与されますが、一応念のため)


> htmlでも単純にそこのアドレスを指定すれば良いのでしょうか。
はい。html から呼ぶことも、aspx から呼ぶことも、あるいは
自作の Windows アプリから呼びだすことなどもできます。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。