• 締切済み

メール送信機能について

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が使用できる)にはまだアップしていません。

みんなの回答

回答No.1

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

koumei
質問者

お礼

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

関連する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通づつメールが送信されます。 皆様のお力をお貸しください。お願いします。

  • 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

  • メール送信について

    BASPを使用しないコーディングを行いたく、下記サンプルのとおり記述すると送信はうまく行えました。 そこで、追加機能としてSMTPサーバーのタイムアウトの設定を行いたいですが、方法はないでしょうか? ちなみに、BASPのServerプロパティでは、ポート番号と通信タイムアウト値(秒単位)が指定可能なようです。 よろしくお願いします。 Dim from As String = "from@microsoft.com" Dim mailto As String = "to@microsoft.com" Dim subject As String = "UtilMailMessage001" Dim body As String = "<html><body>UtilMailMessage001 - success</body></html>" SmtpMail.SmtpServer = "MyMailServer" SmtpMail.Send(from, mailto, subject, body)

  • 【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

  • 確認画面を出す

    こんにちは。早速ですが現在下記のようなメールフォームを作成しているのですが、 <% '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のエラーについて

    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 ところが受信を実行するとそれ以降送信が可能になります。 プログラムが走っている間は良いのですが一度閉じてまた立ち上げると同じ症状になります。 その都度受信をするのは大変ですので何とかしたいのですがご存じの方教えてください。 よろしくお願いします

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

    下記のように設定したのですが、どこがいけないのでしょうか? $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
  • Q)PHPでメール送信について

    Q)PHPで外部のレンタルサーバーにメール送信したいのですが上手く 送信できません。 (現在の状況) ・OutlookExpress だと勿論okです。 ・社内のメールサーバー(ArGo Mail) にはLAN,及び外からも 送信できました。 (レンタルサーバーの状況) 1)メールサーバーのMTAとしてqmailを採用しています。 2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0) 3)POP before SMTP  となっていますが、1)は業者さんに自社サーバー内でテスト頂き、okでした。 ------------------------------------------------------------ となると、原因は (1)私のルーター設定の問題 (2)PHPで   2)SMTP-AUTH Outlook Expressの設定(Ver.5.5 6.0)   3)POP before SMTP を対応させるの何れか?ぐらいしか思いつかないのですが 私のレベルが低いのでどこから取り組んだらいいのかよく解りません、何方かご教授宜しくお願いいたします。 ------------------------------------------------------------ テストしたPHP <?PHP mb_language("Ja") ; mb_internal_encoding("shift-jis") ; $mailto ="hanako@aaa.bbb.cc"; $subject ="花子さん"; $content ="よろしくお願いします。"; $mailfrom "From:" .mb_encode_mimeheader("yorosiku") ."<taro@xxx.yyy.zz>"; mb_send_mail($mailto,$subject,$content,$mailfrom); ?> ------------------------------------------------------------ (環境) Windows xp(sp2) Apache(V2.0.58) PHP(V5.1.4)

    • ベストアンサー
    • PHP
  • Accessから複数アドレスにメール送信

    かなり初歩的な質問なのかもしれませんが、どうしても進まないのでどなたかご教授お願い致します。 access2003からBasp21を使用してメール送信フォームを作ってます。複数アドレスに一括で送れるように、宛名フォームから氏名を選択(例として3件)すると、メール送信フォームの「bcc」ボックスに、 "bcc" & vbTab & "abc@xx.com" & vbTab & "def@xx.jp" & vbTab & "ghi@xx.com" と入るようにし、送信ボタンクリックで下記のようなコードを書いてます。 Dim bobj As Object Dim svname As String Dim ID As String Dim Mailto As String Dim MailFrom As String Dim subj As String Dim Body As String Dim pass As String Dim msg As Variant '送信チェック用 'SMTPサーバ名:ポート番号:タイムアウト秒 svname = Me.[smtpサーバー] & ":" & Me.[ポート番号] & ":" & Me.[タイムアウト秒] 'ログインID ID = Me.[ログインID] 'パスワード pass = Me.[パスワード] 'オブジェクトを作成 Set bobj = CreateObject("basp21") '宛先 Mailto = Me.[bcc] '送信者 MailFrom = Me.[送信者] & "<" & ID & ">" & vbTab & ID & ":" & pass '件名 subj = Me.[件名]   '本文 Body = Me.[テキスト169] 'メッセージの送信 msg = bobj.SendMail(svname, Mailto, MailFrom, subj, Body) ' 送信チェック If msg <> "" Then MsgBox "送信できませんでした。" & vbCrLf & msg, vbOKOnly + vbCritical, "エラー" Else MsgBox "送信しました", vbOKOnly + vbInformation, "完了" End If これを実行すると、 「送信できませんでした。 555 5.5.4 Unsupported option: & to "bcc" & vbTab & "abc@xx.com" & vb」 というようなメッセージが出て送信できません。 Mailto = Me.[bcc] の所を、 Mailto ="bcc" & vbTab & "abc@xx.com" & vbTab & "def@xx.jp" & vbTab & "fhi@xx.com" にすれば送信できるのですが、送信先は毎回変わるので Me.[bbc] にアドレスを代入して送信できるようにするにはどうすればいいのでしょうか?

専門家に質問してみよう