Palm標準のMailを使って、他のアプリからメールを送る方法。
サンプル
UInt16 cardNo; LocalID dbID; Char *string; DmSearchState state; MailAddRecordParamsType *cmdPBP; if (DmGetNextDatabaseByTypeCreator (true, &state, sysFileTApplication, creator, true, &cardNo, &dbID); != dmErrCantFind) { cmdPBP = (MailAddRecordParamsType *)MemPtrNew (sizeof(MailAddRecordParamsType)); if (cmdPBP) { string = (Char *)MemPtrNew (StrLen (mailTo) + StrLen (subject) + StrLen (body)+ 3); if (*string) { StrPrintF (string, "%s%c%s%c%s%c", mailTo, chrNull, subject, chrNull, body, chrNull); cmdPBP->secret = false; cmdPBP->signature = true; cmdPBP->confirmRead = false; cmdPBP->confirmDelivery = false; cmdPBP->priority = mailPriorityNormal; cmdPBP->padding = 0; cmdPBP->subject = string + StrLen (mailTo) + 1; cmdPBP->from = ""; cmdPBP->to = string; cmdPBP->cc = ""; cmdPBP->bcc = ""; cmdPBP->replyTo = ""; cmdPBP->body = string + StrLen (mailTo) + StrLen (subject) + 2; MemPtrSetOwner (cmdPBP, 0); MemPtrSetOwner (string, 0); SysAppLaunch (cardNo, dbID, 0, sysAppLaunchCmdAddRecord, cmdPBP, &result); MemPtrFree (string); } MemPtrFree (cmdPBP); } }
mailto:aaa@bbb.com?subject=件名&body=本文
mailto:?=&to=aaa@bbb.com &subject=件名 &body=本文
UInt16 cardNo; LocalID dbID; DmSearchStateType state; UInt32 result; Char *cmdPBP; Char gotoURLString[] = "mailto:?=&to=%s &subject=%s &body=%s " if (DmGetNextDatabaseByTypeCreator(true, &searchInfo, sysFileTApplication, 'mail', true, &cardNo, &dbID) != dmErrCantFind) { cmdPBP = (Char *)MemPtrNew (StrLen (gotoURLString) + StrLen (mailTo) + StrLen (subject) + StrLen (body) + 1); if (cmdPBP) { StrPrintF (cmdPBP, gotoURLString, mailTo, subject, body); if (MemPtrSetOwner(cmdPBP, 0) == errNone) SysAppLaunch (cardNo, dbID, 0, sysAppLaunchCmdGoToURL, cmdPBP, &result); MemPtrFree (cmdPBP); } }
AND OR
Palm標準のMailを使って、他のアプリからメールを送る方法。
送信トレイに入れる
サンプル
下書きトレイに入れる
本来は、 だが、これだとmailto以外のパラメータが入ったときに上手くいかないので、 とした方が良さそう(?)
サンプル