• 締切済み

powerbuilderのメール機能について

ご教授お願いします。 環境は、Win2000professional Powerbuilder7.0.3 powerBuilederから自動メール送信をしたいと考えています。 // メールを送信します。 mRet=mSes.mailSend(mMsg) IF mRet <> mailReturnSuccess! THEN MessageBox("メール", 'メールの送信に失敗しました') RETURN END IF セッションを確立してメールアドレスを取得して送信コマンドを発行すると の返値が mailReturnAttachmentNotFound! となります。 outlookExpressでは、送信できるのですが outlookではエラーとなります。 メーラーに何か情報が必要なのでしょうか? よろしくお願いします。

みんなの回答

  • cse_ri
  • ベストアンサー率29% (74/253)
回答No.1

MAPIを使ったメール送信ですね。 この方法の場合、送信に使用するメールアプリがMAPIに対応している 必要があります。 OutLookExpressでOKでOutLookでNGなのは、おそらくOutLookの 設定でMAPIが有効になっていないかと思われます。 個人的には、MAPIでメール送受信する方法は好みではありません。 BSMTP.DLL(フリーのメールDLL)をコールするか、フリーで使用できる メール送受信用のユーザオブジェクトを組み込む方法をよく使います。 上記の手法の具体的なコーディングについては、PowerSpaceという PowerBuilderの会議室に公開されていますので、PowerSpceに移動して キーワード「メール」で検索してみてください。 (PowerSpaceを利用するにはID登録が必要です。登録は無料です)

参考URL:
http://www.powerspace.ne.jp

関連するQ&A

  • メールの本文にコマンドボタンを置けるのか?

    メーラーはOutlookExpressです。 メールの本文にコマンドボタンを置き、一つは「はい」もう一つは「いいえ」などとし、押したボタンの内容を送信者へ自動返信する、というような事は可能なのでしょうか?Webなどでは良くありますが、メール本文で出来る方法があれがお教えくださいませ。

  • OutlookExpress2003の機能について

    現在メーラーとしてOutlookExpressを使用しております。 このメーラーをOutlook2003に変更したく考えております。  OutlookExpressは、アカウントの詳細設定で、  「次のサイズより大きいメッセージの場合は分割する」  にて、大きなファイルを送信する場合、自動的に分割し  OutlookExpressで受信すると、自動的に元の一つのmailに  戻ります。 質問1  Outlook2003で上記ようなの分割送信する方法はあるのでしょうか。 質問2-1  OutlookExpressで分割送信した場合、OutlookExpressで受信すれば  自動的に一つのmailに戻りますが、  OutlookExpressで分割送信したメールを、Outlook2003で受信した  場合は、自動的に一つのmailに戻りますか? 質問2-2  上記質問2-1で、Outlook2003で自動的に一つのmailに戻らない場  合、何らかの操作を行えば元の一つのmail戻りますか。  方法があるならば、その方法を教えてください。 質問2-3  上記質問2-2で、何らかの操作をしても元の一つのmailに戻らない  場合、何らかのプラグインを導入すればその機能を付加できますか。  もしあるのであれば、そのプラグインの導入方法を教えてください。 質問3  送信元がOutlook2003で3MBを添付ファイルを送信、受信元Outlook2003  で受信する場合、受信mailServerが2MB以上の受信制限を行っている場  合、どのような回避方法があるでしょうか。  ※あくまでメーラーでの添付ファイル送信でお願いいたします。    →秀丸メール等、自分でマクロを組んでしまえば済むメーラ     の場合は比較的楽なのですが、今回はOutlook2003を使わね     ばなりません。 以上、よろしくお願いいたします。

  • VBScript

    現在ASPをもとにWebサイトを作成しています。 「Microsoft VBScript コンパイラーエラー(0X800A03F6) 'End'がありません。」と出るのですが、どこが原因なのでしょうか? <%@ LANGUAGE="VBSCRIPT" %> <% ' #################### ' ### データ送信用 ### ' #################### StrUsername = Request.Form("username") StrUruby = Request.Form("uruby") StrDatofbirth = Request.Form("dayofbirth") StrEmail1 = Request.Form("email1") StrEmail2 = Request.Form("email2") StrGender = Request.Form("gender") StrPostnumber = Request.Form("postnumber") StrAddress = Request.Form("address") StrTel1 = Request.Form("tel1") StrTel2 = Request.Form("tel2") StrSchool = Request.Form("school") StrFaculty = Request.Form("faculty") StrDepartment = Request.Form("department") StrSurvey = Request.Form("survey") StrComment = Request.Form("comment") StrDesiredjobtype = Request.Form("desiredjobtype") if username = "" then username = "未入力" end if if uruby = "" then uruby = "未入力" end if if dayofbirth = "" then dayofbirth = "未入力" end if if email1 = "" then email1 = "未入力" end if if email2 = "" then email2 = "未入力" end if if gender = "" then gender = "未入力" end if if postnumber = "" then postnumber = "未入力" end if if address = "" then address = "未入力" end if if tel1 = "" then tel1 = "未入力" end if if tel2 = "" then tel2 = "未入力" end if if faculty = "" then faculty = "未入力" end if if department = "" then department = "未入力" end if if survey = "" then survey = "未入力" end if if comment = "" then comment = "未入力" end if if desiredjobtype = "" then desiredjobtype = "未入力" <!-- ERRORカウンタの初期化 errnum = "" ' ### ' ### sqlインジェクション対策 ### ' ###] if errnum <> "" Then Response.Redirect "http://localhost/tesut/chkerr.asp?errnum="+ errnum End If <!-- パラメータ LIST = Array(username,uruby,dayofbirth,email1,email2,gender,postnumber,address,tel1,tel2,school,faculty,department,survey,comment,desiredjobtype) <!-- 検出項目(SQLコマンドで使用される特殊記号の検出) CHECK_1 = Array("<",">","&","'","+","-","*","/","%",";","--","(",")","\","""",",") <!-- ハンドリング要素 ERROR = Array("A","B","C","D") For j = 0 to UBound(LIST) tmpData = UCase(LIST(j)) For i = 0 to UBound(CHECK_1) If Instr(tmpData,CHECK_1(i)) > 0 Then errnum = errnum + ERROR(j) Exit For End If Next Next if errnum <> "" Then Response.Redirect "http://localhost/tesut/chkerr.asp?errnum="+ errnum End If <!-- POSTで遅れないのでセションに保存 Session.Contents("username") = username Session.Contents("uruby") = uruby Session.Contents("dayofbirth") = dayofbirth Session.Contents("email1") = email1 Session.Contents("email2") = email2 Session.Contents("gender") = gender Session.Contents("postnumber") = postnumber Session.Contents("address") = address Session.Contents("tel1") = tel1 Session.Contents("tel2") = tel2 Session.Contents("school") = school Session.Contents("faculty") = faculty Session.Contents("department") = deaprtment Session.Contents("survey") = survey Session.Contents("comment") = comment Session.Contents("desiredjobtype") = deairedjobtype Response.Redirect "http://localhost/tesut/check.asp" <!-- xssの記号検出処理 Function XssChk(Str) err = 0 If Instr(Str,"<") > 0 Then err = err + 1 End If If Instr(Str,">") > 0 Then err = err + 1 End If If Instr(Str,"&") > 0 Then err = err + 1 End If If Instr(Str,"'") > 0 Then err = err + 1 End If If Instr(Str,"""") > 0 Then err = err + 1 End If XssChk = err End Function %>

  • エクセルからメール送信

    エクセル2000 Outlook2000です。 エクセルでメールを送信する段階までは以下のコードできるのですが、このマクロで生成されたメールを、送信前にメッセージファイル(*msg)として保存することは出来ないものでしょうか? VBAでも手動でもかまいません。 Sub test01() If Application.MailSystem <> xlMAPI Then MsgBox "この機能を使用するためには MAPI対応のメーラーが必要です。", vbCritical Else ActiveSheet.Copy After:=Sheets(Sheets.Count) Set ns = ActiveSheet With ns .DrawingObjects.Delete .Cells.Validation.Delete End With SendKeys "%FDM", True End If End Sub

  • リストボックス 何も洗濯されてない場合はNullではなく""?

    VB2008です。 フォームにリストボックスを設置し、何も選択せずに コマンドボタンを押すと下記のコードのとおり動くようにしているのですが Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If IsNothing(ListBox1.Text) = True Then MessageBox.Show("選択してください(Null)") ElseIf (ListBox1.Text) = "" Then MessageBox.Show("選択してください(空白)") Else MessageBox.Show(ListBox1.Text) End If End Sub 「選択してください(空白)」が返ってきます。 ということは何も選択していないときはNULLではなく""なのでしょうか?

  • スパムメールがいくつもきます。

    会社で使用しているパソコンに迷惑メールがいくつもきます。メールの種類はウィルスメールや海外からのメール、気分を害するものもあります。なにか良い対策はありませんか。教えてください。パソコンはWindowsXP ProfessionalでメーラーはOutlookExpress6.0です。

  • リモートメールとoutlook6について

    ただ今メーラーにOutlookExpress6を使っています。 「リモートメール」を受信して読むことは出来るのですが、エラーが出て送信する事が出来ません。 もともとリモートメールをoutlookから送信する事はできないのでしょうか? それとも私の設定が間違っているのでしょうか? 宜しくお願いします。

  • メールで送信のメーラーの選択

    ExcelやWord(いずれも2000)でメールで送信ボタンをクリックするとOutlookExpressでなくMicrosoft Outlookが選択されてしまいます。 OutlookExpressを通常使うメーラーに設定しているのですがなんででしょう・・・・

  • VB IF なぜ構文エラーにならないのですか?

    Dim x, y, z As Integer x = 1 y = 1 z = 1 If x = y And y = z Then MessageBox.Show("OK") End If 3つの値が同じならアラートを出したいのです。このソースでできるかとおもいます。。。 しかし・・・・ If x = y = z Then MessageBox.Show("OK") End If とするとアラートが出ません。関数的に使い方が間違っているのでしょうか? もしそうならなぜ構文エラーが出ないのでしょうか? よろしくお願いします。 言語Microsoft Visual Basic 2008 Express Edition

  • 既存のVBAに機能を追加させたい

    先日、このサイトでアドバイスをいただきましたが「ありがとうございます」、更に能力をアップできればと思っています。アドバイスをお願いします。 [やりたいこと] 既存のVBA記述に機能を追加したい。「このサイトでアドバイスをいただいたVBAに機能追加」 現在、テキストボックスが空「データなし時」の場合に限り、貼り付けコマンドが実行されますが、「データありの場合」は、表示されたダイアログの「はい」を押しても上書きされません。今回(機能を追加)、データありの場合も「貼り付け(上書き)」を実行させたいと思っています。 ・フォーム:フォーム10 ・コマンドボタン:コマンド10 ・テキストボックス:テキスト10 Private Sub コマンド10_Click()   Me!テキスト10.SetFocus   If Not IsNull(Me!テキスト10) Then     If MsgBox("すでに入力されてます。上書しますか?", vbYesNo) = vbNo Then       Me!コマンド10.SetFocus     End If   Else     If MsgBox("クリップボードのデータを貼り付けますか", vbYesNo) = vbYes Then       DoCmd.RunCommand acCmdPaste     End If   End If End Sub [再アドバイスのお願いの背景] 当初、新規追加データのみを対象「上書き事故懸念」にしていましたが、既存データの変更要が散見されたこと。それと、実際に運用してみて動作が確り「強固」していることが確認できたこと。以上の二点です。宜しくお願いします。

専門家に質問してみよう