PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23713 10/08/17 16:50:37 RE(8):PB10.0: BASP21でのメール送信について By mn
23272 08/02/14 14:45:28 RE(7):PB10.0: BASP21でのメール送信について By os-a
23269 08/02/13 10:51:04 RE(6):PB10.0: BASP21でのメール送信について By kiki
23268 08/02/12 16:58:16 RE(5):PB10.0: BASP21でのメール送信について By os-a
23267 08/02/08 15:42:40 RE(4):PB10.0: BASP21でのメール送信について By にしやん
23265 08/02/07 16:22:45 RE(3):PB10.0: BASP21でのメール送信について By os-a
22267 05/10/21 22:26:31 RE(2):PB10.0: BASP21でのメール送信について By cocoa
22266 05/10/21 17:05:34 RE(1):PB10.0: BASP21でのメール送信について By AzureRX-7
22264 05/10/20 16:02:57 PB10.0: BASP21でのメール送信について By cocoa

カテゴリ:スクリプトの記述
日付:2008年02月08日 15:42 発信者:にしやん
題名:RE(4):PB10.0: BASP21でのメール送信について

os-aさん、こんにちは。

引数の文字列を明示的に ANSI に変換すれば良いのでは?
PB10 が無いので確認はしていませんが、下記のようにすればできると思いますよ。

外部関数
FUNCTION String SendMail(REF UnsignedLong szServer, REF UnsignedLong szTo, &
  REF UnsignedLong szFrom, REF UnsignedLong szSubject,REF UnsignedLong szBody, &
  REF UnsignedLong szFile) LIBRARY \"BSMTP.DLL\" ALIAS FOR \"SendMail;Ansi\"
FUNCTION UnsignedLong lstrcpyn(REF Blob dst, REF Blob src, Long length) &
  LIBRARY \"KERNEL32.DLL\" ALIAS FOR \"lstrcpynA\"

スクリプト
//変数宣言
Blob szServer,szTo,szFrom,szSubject,szBody,szFile
UnsignedLong lpszServer,lpszTo,lpszFrom,lpszSubject,lpszBody,lpszFile
String ErrorMessage

//引数セット
szServer = ToAnsi(\"SMTPサーバのアドレス\")
szTo = ToAnsi(\"宛先メールアドレス\")
szFrom = ToAnsi(\"送信元メールアドレス\")
szSubject = ToAnsi(\"件名\")
szBody = ToAnsi(\"本文\")
szFile = ToAnsi(\"添付ファイル名\")

//引数のポインタ値取得
lpszServer = lstrcpyn(szServer,szServer,0)
lpszTo = lstrcpyn(szTo,szTo,0)
lpszFrom = lstrcpyn(szFrom,szFrom,0)
lpszSubject = lstrcpyn(szSubject,szSubject,0)
lpszBody = lstrcpyn(szBody,szBody,0)
lpszFile = lstrcpyn(szFile,szFile,0)

//メール送信処理
ErrorMessage = SendMail(lpszServer,lpszTo,lpszFrom,lpszSubject,lpszBody,lpszFile)
IF ErrorMessage = \"\" THEN
  MessageBox(\"送信成功\",\"送信成功\")
ELSE
  MessageBox(\"送信失敗\",ErrorMessage)
END IF

※アシストさんのサイトにあるオンラインマニュアルによれば、
ToAnsi() 関数は将来サポートされなくなる予定らしいので、
ToAnsi(…) は Blob(…, EncodingANSI!) としたほうが良いかもしれません。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.