PHS経由でネットに接続できるEthernetアダプタのファームウェアをハック・中編 ―― LANにつないでメールの送受信と自動実行を実現
| // Mail send sample for OSX-1 | |
| char *MailTo="name@domain.jp"; | // メールの送信先アドレス(グローバル) |
| char *Server="smtpserver"; | // SMTPサーバ名(グローバル) |
| char SmtpState; | // SMTPステート変数(グローバル) |
| main(){char soc,stat;*0x8d=128; | // ソケットとステータス用の変数宣言,前面ボタンのポート初期化 |
| for(;;){ | // 何回もメールを送るためのループ |
| PrStr("Press button to send e-mail¥r¥n"); | // 操作画面表示 |
| while(*0x8f&128)SystemSleep(); | // ボタンが押されるまで待つ |
| soc=CreateSocket(1);if(soc<0){PrStr("Soc?");return;} | // ソケットを生成する |
| GetDefMtu(soc,512); | // TCP/IPのバッファのサイズを512バイトに設定 |
| if(Connect(soc,GetHostByName(Server),25)<0){PrStr("Svr?");return;} | // SMTPサーバに接続開始 |
| PrStr("Sending e-mail¥r¥n");SmtpState=1; | // メッセージ表示とSMTPステート初期化 |
| for(;;){ | // SMTPステート・マシン・ループ |
| stat=SMTPAUTH::SmtpHandler(soc);if(stat<0||stat==1)break;SystemSleep(); | // SMTPライブラリ呼び出し |
| } | // SMTPステート・マシン・ループの終端 |
| CloseSocket(soc): | // ソケットを開放 |
| } | // 何回もメールを送るためのループの終端 |
| } | // mainの終端 |
リスト1 メール送信のMainファイル


