iambic Mailを使って、他のアプリからメールを送る方法。 iambic Mail または Agendus Pro Mail を使って、他のアプリからメールを送る方法。
// 起動コード
#define sysAppLaunchCmdNewEmail  sysAppLaunchCmdCustomBase + 0x0100
// コマンドブロック
// パラメータブロック
typedef struct {
	UInt32 launchCreator; // 呼出すアプリのクリエータID
	Char toField[128]; // 宛先
	UInt32 launchCreator;	// 呼出すアプリのクリエータID
	Char toField[128];		// 宛先(メールアドレス)
} NewEmailParamsType;
launchCreatorに呼出す側のクリエータIDを入れておくと、iambic Mailの処理が終わった時点で、sysAppLaunchCmdNormalLaunchで元のアプリを起動する。
  • 宛先だけが入ったメール編集画面が起動。
  • launchCreatorに呼出す側のクリエータIDを入れておくと、iambic Mailの処理が終わった時点で、起動コード「sysAppLaunchCmdNormalLaunch」で元のアプリを起動する。

サンプル

UInt16		cardNo;
LocalID		dbID;
DmSearchStateType	searchInfo;
DmSearchStateType searchInfo;
NewEmailParamsType *cmdPBP;

if (DmGetNextDatabaseByTypeCreator(true, &searchInfo,
    sysFileTApplication, 'JetM', true, &cardNo, &dbID)
    != dmErrCantFind)
{
 NewEmailParamsType *cmdPBP =
 (NewEmailParamsType *)MemPtrNew(sizeof(NewEmailParamsType));
 cmdPBP = (NewEmailParamsType *)MemPtrNew(sizeof(NewEmailParamsType));

 cmdPBP->launchCreator = MyApplicationCreatorID;
 StrCopy (cmdPBP->toField, MyEmailAddressStr);

 if (MemPtrSetOwner(cmdPBP, 0) == errNone)
  SysUIAppSwitch (cardNo, dbID, sysAppLaunchCmdNewEmail, cmdPBP);
 else
  MemPtrFree (cmdPBP);
}