docs

Home All functions Legacy functions Categories

vuSendMailWait()

vuSendMailWait(*CSTRING InFrom,*CSTRING InTo,*CSTRING InCC,*CSTRING InBCC,*CSTRING InSubject,*CSTRING InBody,*CSTRING InAttach),SIGNED,PROC,PASCAL,RAW,NAME('vuSendMailWait')

Purpose

Queues one message (same input contract as vuSendMail()) and blocks until queue processing finishes.

Parameters

Parameter Type Description
InFrom *CSTRING Sender selector. You may pass a full mailbox, a plain email address, a display name only, or blank. See From selection rules below.
InTo *CSTRING Recipient email address list.
InCC *CSTRING CC address list.
InBCC *CSTRING BCC address list.
InSubject *CSTRING Message subject text.
InBody *CSTRING Message body text.
InAttach *CSTRING Attachment file path.

Return value / error codes

Example (Clarion)

MAP
  MODULE('vuMail.dll')
    vuSendMailWait(*CSTRING InFrom,*CSTRING InTo,*CSTRING InCC,*CSTRING InBCC,*CSTRING InSubject,*CSTRING InBody,*CSTRING InAttach),SIGNED,PROC,PASCAL,RAW,NAME('vuSendMailWait')
  END
END

rc      LONG
cFrom   CSTRING(256)
cTo     CSTRING(256)
cCC     CSTRING(256)
cBCC    CSTRING(256)
cSubj   CSTRING(256)
cBody   CSTRING(1024)
cAttach CSTRING(260)

cFrom = 'sender@example.com'
cTo = 'recipient@example.com'
cCC = ''
cBCC = ''
cSubj = 'Wait test'
cBody = 'Send and wait'
cAttach = ''

rc = vuSendMailWait(cFrom, cTo, cCC, cBCC, cSubj, cBody, cAttach)
MESSAGE('vuSendMailWait rc=' & rc)

Notes

Home All functions Legacy functions Categories

From display name behavior

From selection rules

vuSendMailWait() resolves the effective sender using these rules:

This keeps legacy behavior intact while allowing per-message display-name overrides when a stored profile sender already exists.

Notes on OAuth/profile sends