• 締切済み
  • すぐに回答を!

メール送信機能について

basp21をつかってASPのプログラムからメールを送信しようとしています。 以下のようにプログラムしています。 <% Set ml=Server.CreateObject("basp21") smtpsrv="xxx.odn.ne.jp" mailto="xxx@hotmail.com" & Chr(9) mailto=mailto & "cc" & Chr(9) & "xxx@pop01.odn.ne.jp" & Chr(9) mailto=mailto & "reply-to" & Chr(9) & Request.Form("txtMail") mailfrom=Request("txtName") & "<" & Request("txtMail") & ">" sbj="感想" body=Request.Form("memo") file="" rc = ml.SendMail(smtpsrv,mailto,mailfrom,sbj,body,file) If rc="" Then Response.Write "感想を戴き、ありがとうございました" Else Response.Write rc End If %> Cant't connect Server というエラーが出力されメールが送信できません。 環境としてはクライアントに開発環境(PWS)を作って試験しています。 開発環境にはbasp21を設定済です。 レンタルサーバ(basp21が使用できる)にはまだアップしていません。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数530
  • ありがとう数18

みんなの回答

  • 回答No.1
  • ryoyama
  • ベストアンサー率56% (45/80)

確認ですが、インターネットに接続した状態で動作させていますか? SMTPサーバ名やSendMailメソッドの引数の順番などが間違っていなければ送信できるはずですが。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます インターネットには常時接続しています。 どうやらファイヤーウォールの関係で メールサーバには接続できないようです。

関連するQ&A

  • Basp21に詳しい方!!

    まったくの初心者です。 送信するメールにファイル添付されるようにしたいのですが、 どうしてもエラーが出てしまいます。 どこが間違えていますか? ----------------------------------------------------------------------------------------------------------- 'Basp21でメールを送信します。 Set Basp = Server.CreateObject("basp21") tb = Request.TotalBytes br = Request.BinaryRead(tb) fn = Basp.FormFileName(br,"includedFile") fpath = Mid(fn,InstrRev(fn,"\")+1) leng = Basp.FormSaveAs(br,"includedFile",fpath) End If rc = Basp.SendMail(host, mailTo, mailFrom, subject, body, fpath) If rc = "" Then Response.Write "送信完了" Else Response.Write "送信失敗:" & rc End If set basp = Nothing

  • basp21でメールが2通送信される

    ASPからBASP21を利用してメールを送信しています。 その際、1つの宛先に対して2通のメールが送信される現象が発生しています。 下にソースを表示します。 メール内容は同一ですので、宛先をデータベースから取得し、Loop処理の中で宛先だけを変更して送信処理を行っています。 rec.Open scmd,,adOpenStatic,adLockReadOnly Set basp = CreateObject("basp21") logfile = "D:\" svname = "xxx.xxx.xx.xx" mailfrom = "xxxx@xxx.xx.xx" subj = "件名" body = "内容" Do Until rec.EOF   mailto = rec("email")   msg = basp.SendMailEx(logfile,svname,mailto,mailfrom,subj,body,"")   If msg <> "" Then     エラー処理   End If   rec.MoveNext Loop この処理を通すと、1つの宛先に2通づつメールが送信されます。 皆様のお力をお貸しください。お願いします。

  • 確認画面を出す

    こんにちは。早速ですが現在下記のようなメールフォームを作成しているのですが、 <% 'On Error Resume Next If Len(Request("name")) = 0 then Response.Write "お名前が入力されていません。" & "<br>" Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>" Response.Write "<br>" Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>" ElseIf Len(Request("mail")) = 0 then Response.Write "メールアドレスが入力されていません。" & "<br>" Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>" Response.Write "<br>" Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>" ElseIf Len(Request("message")) = 0 then Response.Write "お問い合わせ内容が入力されていません。" & "<br>" Response.Write "前ページへ戻るボタンを押して下さい。" & "<br>" Response.Write "<br>" Response.Write "<input type='button' value='前ページへ戻る' onclick='JavaScript:history.go(-1);'>" & "<br>" else 'メール送信 Set bobj = Server.CreateObject("basp21") ' ASP svname = "xxxx" ' <== smtp サーバマシン名 mailto = "xxxxx" ' 宛先 mailfrom = "xxxxx" '差出し人 subj = "お問い合わせフォームより" ' 件名 body = "お名前      :"& Request("name") & vbCrLf _ & "電話番号     :"& Request("phone") & vbCrLf _ & "メール      :"& Request("mail") & vbCrLf _ & "お問い合わせ内容 :"& Request("message") & vbCrLf file = "" rc = bobj.SendMail(svname,mailto,mailfrom,subj,body,file) if rc <> "" then ' エラーチェック 'エラー! Response.Write "エラーで送信できませんでした。" & rc & "<br><br>" else Response.Write "お問い合わせありがとうございました。" & "<br>" Response.Write "メールを確認次第ご連絡させていただきます。" & "<br>" end if end if %> ここで入力させた内容を一度確認画面を出して、送信を行いたいと思うのですが、フォームの引き継ぎ方が分かりません。 どうぞ皆様のお力をお貸し下さい。 宜しくお願いします。

  • BASP21を使ってEXCELからメールの送信

    BASP21を使ってEXCELからメールの送信をしたいのですが、できません。 自分なりに調べた結果、下記のコードになったのですが、どこかおかしいのでしょうか? エラー表示は次になります。 530 5.7.1 client was not authenticated from メールアドレス よろしくお願いいたします。 Sub ボタン2_Click() ''[送信]ボタン Dim bobj, msg As String, i As Long Dim Server As String, Mailto As String, MailFrom As String Dim Subject As String, Attach As String, Body As String On Error Resume Next Set bobj = CreateObject("basp21") ''BASP21オブジェクト ''BASP21がインストールされているかどうかを判定する If Err = 429 Then MsgBox "BASP21がインストールされていません。", vbCritical Exit Sub End If ''必須データのチェック Server = "mail.○○○.com:587:60" ''SMTPサーバー Mailto = "○○○@hotmail.co.jp" ''宛先 MailFrom = "△△△@×××.co.jp" ''差出し人 Subject = "更新連絡" ''タイトル Body = "システムが更新しました" ''本文 msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, Attach) Set bobj = Nothing If msg <> "" Then MsgBox msg, vbExclamation Else MsgBox "メールを送信しました。", vbInformation End If End Sub

  • メールを送信しました。と出るのにメールが届きません。

    下記のように設定したのですが、どこがいけないのでしょうか? $SENDMAIL = '/usr/sbin/sendmail'; $MAILTO = '<自分のメールアドレス>'; if($ENV{'REQUEST_METHOD'} eq 'POST') { read(STDIN, $query, $ENV{'CONTENT_LENGTH'}); } else { $query = $ENV{'QUERY_STRING'}; } # フォームデータの復元 foreach $pair (split(/&/, $query)) { ($key, $value) = split(/=/, $pair); # 文字のデコード $value =~ tr/+/ /; $value =~ s/%([0-9a-fA-F][0-9a-fA-F])/chr(hex($1))/eg; $FORM{$key} = $value; } # MIMEエンコード $mail_to = mimeencode($MAILTO); $mail_from = mimeencode($FORM{'name'}); $mail_subject = mimeencode($FORM{'subject'}); # 文字コードの変換 $body = jcode::jis($FORM{'msg'}); # メールヘッダーの生成 $header = <<END; To: $mail_to From: $mail_from<$FORM{'email'}> Subject: $mail_subject Mime-Version: 1.0 Content-Type: text/html; charset=ISO-2022-JP END # メールの送信 open(MAILTO, "| $SENDMAIL -i -t -f $FORM{'email'}") or die("エラー:sendmailへのパイプが開けません"); print MAIL "$header, $body"; close MAIL; # サーバー出力 print <<END;

    • 締切済み
    • CGI
  • クイックソート

    たびたびすいません。 この10個の乱数をクイックソートで表示するには どのようなソースを加えればよいでしょうか? <% Do while x<10 x=x+1 Randomize Response.Write( CInt((Request.Form("max"))-CInt(Request.Form("min"))+1) * Rnd + CInt(Request.Form("min"))) Response.Write("<br>") loop %>

  • Ifが正常に動作しない。

    下記のコードで、login.htmlからデータを適当に入力し てかえってくる処理が全て、空の表示になってしまう。 Ifが正常に動作しません、正常に動作するようにするにはどうすればいいのでしょうか? <login.html> <html> <body> <table> <tr> <td>id:</td> <td><input type="text" name="id"></td></tr> <tr><td>password:</td> <td><input type="password" name="pass"></td></tr> </table> <form methed="post" action="http://session.asp"> <input type="submit" name ="sb" value="login" > </form> </body> </html> session.asp <html> <body> <% if session("id")="" Or session("id")= null then if request("pass")="" Or request("id")= null then response.write "空" elseif request("pass")= "1234" then session("id")="login" response.write "ログインしました。" else response.write "違う" end if else response.write "ログインしました" response.write session("id") end if %> </body> </html>

  • 【Excel】 VBAを使って毎回名前が変わるファイルを添付してメール送信したい。

    こんにちは。 以前、このような質問があり、 自分でもこれを元にプログラムを書いてみました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1652780 問題は、添付するファイルの名前が変わるので どうすれば毎回変化する名前のファイルが きちんと添付できるかというのが質問です。 アスタリスク(*)はVBAでは使えないとのこと。 正規表現?というのを使用するのでしょうか? ※下のAttFile = "D:\教えて01.txt"を例にすると「教えて02,教えて03・・・」と  毎回ファイル名が変わるものとして下に書きました。  ここの記述はどのようにすればよいのでしょうか? 環境はWindowsXP     Office2003     BASP21というのを使用しています。 Sub SendMail() Dim B21Obj, MailContents Dim Server, Mailto, MailFrom, Title, Body, AttFile If Range("A1") = "" Then GoTo Fin If Range("A2") = "" Then GoTo Fin If Range("A3") = "" Then GoTo Fin Set B21Obj = CreateObject("basp21") Server = "***.***.com" 'サーバー名(ご自分のSMTPサーバーに書換え) Mailto = Range("A1").Value & vbTab & "bcc" & vbTab & "***@***.ne.jp" '宛先 MailFrom = "***@***.com" '差出し人(ご自分のメールアドレスに書換え) Title = Range("A2").Value 'タイトル Body = Range("A3").Value '本文 AttFile = "D:\教えて01.txt" '添付書(01,02,03・・・と毎回変わります) MailContents = B21Obj.SendMail(Server, Mailto, MailFrom, Title, Body, AttFile) Fin: Set B21Obj = Nothing Range("A1").Select End Sub

  • BASP21のエラーについて

    Windows XP Excel2003でBASP21を使用してメールを送信させています。 次のようなコードを使用して送信すると エラーの内容 "xxxsmtp.mail.yahoo.co.jp Closig transmission channel You must be pop-aut" 翻訳で ”あなたはホップアップ同型を伝送チャネルにする必要があり” Sub AB_jidou() Dim bobj, msg As String Dim Server As String, Mailto As String, MailFrom As String, Subject As String, Body As String Set bobj = CreateObject("basp21") ''BASP21オブジェクト Server = "xxxsmtp.mail.yahoo.co.jp" ''SMTPサーバー Mailto = "xxxx8743@xxxx.ne.jp" MailFrom = "xxxxxx0@xxx.ne.jp" ''差出し人 Subject = " 取引情報" ''タイトル Body = Sheets(1).Range("U34") ''本文 msg = bobj.SendMail(Server, Mailto, MailFrom, Subject, Body, "") Set bobj = Nothing If msg <> "" Then MsgBox msg End Sub ところが受信を実行するとそれ以降送信が可能になります。 プログラムが走っている間は良いのですが一度閉じてまた立ち上げると同じ症状になります。 その都度受信をするのは大変ですので何とかしたいのですがご存じの方教えてください。 よろしくお願いします

  • フォームの値をうまく出力できない

    フォーム(1.htm)で、質問と答えと入力し、 その結果を次のページ(2.asp)で表示させるASPを作成しました。 以下のように作成したいのですが、うまくいきません。 どうしたらいいのでしょうか。 宜しくお願いします。 ・質問と答えは10個入力されるとはかぎらない ・例えば7個入力されたとき、question1からquestion7まで入力されるとはかぎらない(question2が空欄で、question9に入力される場合もある) ・どのように入力された場合でも、qとaの画像は、q1.gif・a1.gifから 連続で表示されるようにする。 ・フォームで入力されたところを上から順番にq1.gif~、a1.gif~の画像を使って、2.aspに表示させる。 ****1.htm***** <form method="POST" action="2.asp"> <input name="question1" type="text"> <input name="answer1" type="text"> … <input name="question10" type="text"> <input name="answer10" type="text"> </form> ****2.asp************ question1 = Request.Form("question1") answer1 = Request.Form("answer1") … question10 = Request.Form("question10") answer10 = Request.Form("answer10") Response.Write ("<table>") Response.Write ("<tr>") Response.Write ("<td><img src= q1.gif></td>") Response.Write ("<td>" & question1 & "</td>") Response.Write ("</tr>") Response.Write ("<tr>") Response.Write ("<td><img src= a1.gif></td>") Response.Write ("<td>" & answer1 & "</td>") Response.Write ("</tr>") … Response.Write ("<tr>") Response.Write ("<td><img src= q10.gif></td>") Response.Write ("<td>" & question10 & "</td>") Response.Write ("</tr>") Response.Write ("<tr>") Response.Write ("<td><img src= a10.gif></td>") Response.Write ("<td>" & answer10 & "</td>") Response.Write ("</tr>") Response.Write ("</table>")

専門家に質問してみよう