4.メールを送信する
HSP+hspsockでメールを送信してみましょう
◆どう作るか
はい、めんどくさいですねwでも考えましょう
今回は、
- サーバーに接続・コマンドを送信
- サーバーの応答をrepeat〜loopでチェックしまくる
- 応答があったら次の処理へ(繰り返し
◆作成
ちょいと今回は解説するところが無いので、完成スクリプトだけで勘弁してください。そのかわりコメントを充実させましたからw#include "hspsock.as" server="smtp.mail.yahoo.co.jp" ;サーバーアドレス port=587 ;ポート番号(こちらを参照) user="*****" ;ユーザー名をBASE64エンコードしたもの pass="*****" ;パスワードをBASE64エンコードしたもの from="*****@yahoo.co.jp" ;送信元アドレス to="*****@yahoo.co.jp" ;送信先アドレス sub="=?ISO-2022-JP?B?GyRCJEYkOSRIITwbKEI=?=" ;題名をMIMEエンコードしたもの data="てすとめーる" ;メール本文 log=str(log) ;ログ代入変数を文字列型に変換 sockopen 0,server,port ;サーバーへ接続 repeat sockcheck 0 ;応答が来ているかチェック if stat=0 : break ;応答があったらループを抜ける wait 10 loop sockget log,1024,0 ;応答をログ変数に代入 mes log ;応答を表示 sockput "EHLO "+server+"\n",0 ;接続コマンドを送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput "AUTH LOGIN\n",0 ;AUTH認証を使うと宣言するコマンドを送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput user+"\n",0 ;ユーザー名を送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput pass+"\n",0 ;パスワードを送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput "MAIL FROM:"+from+"\n",0 ;メール送信元を送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput "RCPT TO:"+to+"\n",0 ;メール送信先を送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput "DATA\n",0 ;本文等を送信する宣言コマンドを送信 sockput "From:"+from+"\n",0 ;メール送信元をヘッダとして送信 sockput "to:"+to+"\n",0 ;メール送信先をヘッダとして送信 sockput "Subject:"+sub+"\n\n",0 ;題名を送信 sockput data+"\n",0 ;本文を送信 sockput ".\n",0 ;送信が終了したことを宣言するコマンドを送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log sockput "QUIT\n",0 ;サーバーから切断するコマンドを送信 repeat sockcheck 0 if stat=0 : break wait 10 loop sockget log,1024,0 mes log
◆画像

