こんにちは ASPでbasp21を使ってメールを送るように作っているのですが
<%@ LANGUAGE = VBScript%>
<%
Dim strServer 'SMTPサーバ
Dim strTo '宛先
Dim strFrom '送信元
Dim strSub 'メール標題
Dim strBody 'メール本文
Dim strFile '添付ファイル
Dim result '戻り値
strServer = "abc.com"
strTo = "efg@abc.com"
strFrom = "mail@abc.com" & vbTab & "abc:hogehoge"
strSub = "件名"
strBody = "本文"
strFile = ""
set obj=server.createobject("basp21")
result = obj.SendMail(strServer,strTo,strFrom, strSub,strBody,strFile)
If result <> "" Then
Response.Write("メール送信エラー :" & result)
Response.End
End If
と言う感じで 何の変哲もない内容なんですが
実行すると
Active Server Pages, ASP 0115 (0x80004005)
外部オブジェクトでトラップできるエラー (C06D007E) が発生しました。スクリプトの実行を続行できません。
とでます
色々調べて 権限がないのかとも思い再セットして
DLLの確認もしましたが同じです
サーバーアドレスも:25を付けたりしましたが
同じです。
ただ、
strServer = "abc.com"
を 空白("")にすると
ちゃんとエラーで
メール送信エラー :Server name invalid
と出るのです
と言う事は オブジェクトの作成はできているの?
と言う感じで、どうもよく分かりません。
ちなみに 他のページで画像のアップロードに
FormSaveAs を使っていますが いたって快適に動きます
サーバーはIISで win2000でテストしています
wwwサーバーはONにしていますが
mailサーバーはOFFにしています
これは関係あるのでしょうか?
自分のマシンのmailサーバーは使わないからOFFで良いかなと
思ってそうしています。
どういうポイントが悪いのかよく分からないので
どなたか教えて頂けたらと思います
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> 設置場所も大丈夫、レジストリ登録もOK
> またメール以外で画像登録も使っているのですが
> これはすんなりOKで動く・・・。
今日、同じ状況になっているPCにたまたま出くわしました。
BASP21.DLLもBSMTP.DLLもsystem32に入ってましたが、
全く同じエラーメッセージが出ていました。
そのPCを調査してみたところ、BSMTP.DLLのアクセス権が
おかしなことになっていました。
(DLLに一般ユーザの参照/実行権がついてない。)
BSMTP.DLLは、差し替え版がいくつかあるようで、
その差し替え手順を誤ると、DLLファイルのアクセス権が
おかしなことになる可能性があります。
BSMTP.DLLのプロパティ - セキュリティを表示し、
他のBASP21.DLLと同じアクセス権が付与されているか
確認することをお勧めします。
No.3
- 回答日時:
こんにちは。
まず、そのメールサーバーは認証無しでSMTP接続ができるのかどうかがあります。POP3beforeSMTPの場合は受信することが必要です。
もうひとつ、メールアドレスは<>で閉じてあげるとよいかもしれません。
No.2
- 回答日時:
画像のアップロードができるということは、BASP21.DLLは
正しく登録され、呼び出されるようになっていると思います。
メール送信は、BASP21.DLLからBSMTP.DLLを呼び出して実行するので、
やはりBSMTP.DLLが見つからない状態なのだと思います。
strServerを空白にするとエラーメッセージが返ってくるのは、
パラメータチェック段階でエラーになっているので、BSMTP.DLL
を呼び出す前の段階でエラー返却しているのだと思います。
BSMTP.DLLの設置場所は、C:\Windows\system32ですか? それ以外のフォルダですか?
system32以外のフォルダに設置しているなら、
「マイコンピュータ」のプロパティを開いて、
「詳細設定」タブの「環境変数」ボタンを押してください。
「システム環境変数」欄の「Path」変数にフォルダ名が
たくさん登録されていると思いますが、その中に
BSMTP.DLLを格納しているフォルダ名が登録されていますか?
なければ、そのフォルダ名を追加してください。
システム環境変数を追加した後は、一度OSを再起動してから
動作確認したほうがよいと思います。
ちなみに、ユーザ環境変数の方に登録されていても、そちらは
IIS(ASP)で実行するプログラムからは使われません。
あと、DLLをネットワークドライブや、特殊な認証を必要とする
暗号化ドライブ等に置いているような場合も注意が必要です。
IISは、あなたが今ログインして確認しているアカウントとは
別のユーザアカウントで実行していることに注意する必要があります。
system32以外のフォルダに設置しているのであれば、
試しにsystem32にDLLをコピーしてみたり、別のフォルダに設置して
みたりするとなにか解決の糸口が見つかるかもしれませんよ。
No.1
- 回答日時:
でC06D007Eを探すと参考になると思います。
おそらくBASP21.DLLから呼び出すBSMTP.DLLが
見つからない状態なのではないかと推測します。
http://www.hi-ho.ne.jp/babaq/basp21.html
にあるように、system32 以外にDLLを置いた場合は、
PATH環境変数の設定が必要です。
お礼が遅くなりました
BASP21.DLLから呼び出すBSMTP.DLLが
見つからない状態
であることだけが分かったのですが、なかなかそこから先への解決が
できずに悩んでします。
設置場所も大丈夫、レジストリ登録もOK
またメール以外で画像登録も使っているのですが
これはすんなりOKで動く・・・。
もう少しがんばって調べてやってみようと思います。
回答ありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
- その他(メールソフト・メールサービス) メールが送信できない 発信側でできる対策 3 2023/05/11 10:22
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
OLEDB.NETで接続できない
-
【VBA】ボタンに登録したマクロ...
-
デバッグ時はOK、デバッグ無し...
-
「コンパイルエラー:プロシー...
-
実行時エラー3001「引数が間違...
-
VBS実行時エラー オブジェクト...
-
VBAのエラー発生場所をメッセー...
-
VBSで変数の宣言はできないので...
-
VBAでのエラー
-
エクセルVBA autofilterでエラー
-
'Cells'メソッドは失敗しました...
-
VBで構造体を使うさ際の64k...
-
VB6+SQL サーバー 2000 で 実行...
-
VBA エラーと対策
-
日本語環境下で作成したマクロ...
-
なぜこんな初歩的なVBAのIf文で...
-
Excel2019 ワークシートのコピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
なぜこんな初歩的なVBAのIf文で...
-
マクロについて教えてください...
-
実行時エラー3001「引数が間違...
-
VBAがブレークモードになっ...
-
ExcelVBA Range クラスの Page...
-
VBSで変数の宣言はできないので...
-
VBS実行時エラー オブジェクト...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
EXCEL VBAマクロ中断でデバッグ...
-
ADODB.Streamを使用してUTF-8を...
-
VBAでのエラー
-
実行時エラー48発生時のDLL特定...
-
Outlook.ApplicationをCreateOb...
-
VB6+SQL サーバー 2000 で 実行...
-
実行時エラー -'-2147417848
-
「コンパイルエラー:プロシー...
おすすめ情報