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ファイル