tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルvb2005 でメールフォームの作成方法
記事No7199
投稿日: 2008/03/17(Mon) 11:30
投稿者佐藤
いつも大変お世話になっております。

VB2005で開発しております。
今回、メールフォームを作成しようと思っております。
htmlの方は分かるのですが、
それをPOSTする側のaspの記述が分からずGoogle等で検索していました。

簡単なサンプル等が記載されているサイトをご存知でしたら
お教え願えませんでしょうか。

[ツリー表示へ]
タイトルRe: vb2005 でメールフォームの作成方法
記事No7201
投稿日: 2008/03/17(Mon) 11:40
投稿者魔界の仮面弁士
> VB2005で開発しております。
> 今回、メールフォームを作成しようと思っております。
> htmlの方は分かるのですが、
> それをPOSTする側のaspの記述が分からずGoogle等で検索していました。

VB2005 と ASP (≠ASP.NET)とは、珍しい組み合わせですね。

で、メール送信なら、System.Net.Mail 名前空間を使う事ができるでしょう。
ただし、RFC に準拠していない宛先(@ の直前に . があったり、. が連続していたり)に
送る必要がある場合(au や docomo の携帯など…)は、使えませんけれども。

[ツリー表示へ]
タイトルRe^2: vb2005 でメールフォームの作成方法
記事No7203
投稿日: 2008/03/17(Mon) 13:10
投稿者佐藤
魔界の仮面弁士様
毎回、お教え頂き有難う御座います。

VB2005 と ASP (≠ASP.NET)の関係がよく分かっていないのですが、
レンタルしているサーバー上にメールフォームを作成し、
そこでPOSTでASPXを指定するようですが、
このASPXの記述が分からず困っておりました。

メール送信先は私のメールアドレスと思っております。

Visual Web Developerで作成するとは思うのですが。

[ツリー表示へ]
タイトルRe^3: vb2005 でメールフォームの作成方法
記事No7204
投稿日: 2008/03/17(Mon) 13:18
投稿者魔界の仮面弁士
>>> それをPOSTする側のaspの記述が分からずGoogle等で検索していました。
>> VB2005 と ASP (≠ASP.NET)とは、珍しい組み合わせですね。
> VB2005 と ASP (≠ASP.NET)の関係がよく分かっていないのですが、

*.aspx なのですか? であれば、ASP ではなく ASP.NET ですね。
ASP と ASP.NET。名前は似ていますが、これらは別の物です。


> レンタルしているサーバー上にメールフォームを作成し、
> そこでPOSTでASPXを指定するようですが、
> このASPXの記述が分からず困っておりました。

質問の内容をもう少し具体的に絞って貰えると、答えやすいです。

メールフォームから、入力されたデータを受け取る方法が分からないのでしょうか?
受け取ったデータを、SMTPサーバに送信する方法が分からないのでしょうか?
それとも、もっと別なことで困っているのでしょうか?

[ツリー表示へ]
タイトルRe^4: vb2005 でメールフォームの作成方法
記事No7205
投稿日: 2008/03/17(Mon) 13:45
投稿者佐藤
毎回、質問の主旨を伝えきれず申し訳ありません。

ASPXの中で行うと思われる、

1.入力されたデータを受け取る
2.受け取ったデータをSMTPサーバーに送信する

上記基本的な2点が分からず困っております。

その先に困る事と思うのですが、
ローカルで作成したaspxは仮想フォルダーなど作成せず、
単純にffftpなどを使ってアップロードし、
htmlでも単純にそこのアドレスを指定すれば良いのでしょうか。

[ツリー表示へ]
タイトルRe^5: vb2005 でメールフォームの作成方法
記事No7206
投稿日: 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 アプリから呼びだすことなどもできます。

[ツリー表示へ]
タイトルRe^6: vb2005 でメールフォームの作成方法
記事No7207
投稿日: 2008/03/17(Mon) 16:26
投稿者佐藤
魔界の仮面弁士様 大変参考になりました。

早速、お教え頂いた1行のみのaspxを試し、
正しく動作する事が分かりました。

サーバーはファーストサーバーを使っております。

メール送信のコードをお教え頂き、送信の仕組みの基本がわかりました、
有難う御座います。

現在、htmlで入力した項目をaspxへpostし、
そのaspxで受け取った氏名や住所等をsmtpサーバーへ送信するような
動きをさせたいのですが、
基礎をしっかり学びながら、その部分についてもできれば
知っておきたいので、できましたら
aspxで受け取った氏名や住所等をsmtpサーバーへ送信する部分が
学べる様なサイトがありましたらお教え願えませんでしょうか。

重ね重ねお手数をお掛けいたします。

[ツリー表示へ]